Early Macromedia Director titles are supported now
Moderator: ScummVM Team
Early Macromedia Director titles are supported now
After 5 years of active development, we are glad to finally announce the first MacroMind/Macromedia Director-based games to be supported.
Iskrich, a GSoC student, laid down the engine’s first lines of code, based on the initial reverse engineering efforts of fuzzie, which she wrote in Python as part of the continuity project. Then, the work was continued by sev in 2017 when Lingo compiler development was started and stevenhoefel started adding Director 5-related code. In 2018, there was practically no development, but in 2019, moralrecordings made some advancements for Director 4. Finally, in 2020 and 2021, there was a big chunk of development, first by npjg and djsrv, then by sheep and djsrv, while rvanlaar set up a continuous integration buildbot for the project.
Long story short, after 3738 commits, we are now announcing support for Director 2-based titles such as Spaceship Warlock. Selected Director 3-based titles may work, and in particular, we support L-ZONE.
Grab your CDs and give these titles a go. We are also actively collecting info on any Director-based (and Shockwave) titles that we catalogue on our Wiki, so, please, help us with this task.
We are actively working on deepening Director 3 compatibility, particularly the original Journeyman Project and advancing with Director 4 support, having Meet MediaBand and Chop Suey as our primary test targets.
For running the games you will need the latest daily build of ScummVM. And as usual, if you see any issues, please file them in the issue tracker.
Iskrich, a GSoC student, laid down the engine’s first lines of code, based on the initial reverse engineering efforts of fuzzie, which she wrote in Python as part of the continuity project. Then, the work was continued by sev in 2017 when Lingo compiler development was started and stevenhoefel started adding Director 5-related code. In 2018, there was practically no development, but in 2019, moralrecordings made some advancements for Director 4. Finally, in 2020 and 2021, there was a big chunk of development, first by npjg and djsrv, then by sheep and djsrv, while rvanlaar set up a continuous integration buildbot for the project.
Long story short, after 3738 commits, we are now announcing support for Director 2-based titles such as Spaceship Warlock. Selected Director 3-based titles may work, and in particular, we support L-ZONE.
Grab your CDs and give these titles a go. We are also actively collecting info on any Director-based (and Shockwave) titles that we catalogue on our Wiki, so, please, help us with this task.
We are actively working on deepening Director 3 compatibility, particularly the original Journeyman Project and advancing with Director 4 support, having Meet MediaBand and Chop Suey as our primary test targets.
For running the games you will need the latest daily build of ScummVM. And as usual, if you see any issues, please file them in the issue tracker.
- eriktorbjorn
- ScummVM Developer
- Posts: 3560
- Joined: Mon Oct 31, 2005 7:39 am
Re: Early Macromedia Director titles are supported now
Are there any further instructions on how to get these games running? I was able to get the Windows version of Spaceship Warlock to work long ago, but it's less obvious (to me) which files I need in which format from the Macintosh CD.
Edit: After installing the Python 3 "machfs" package manually (since it wasn't packaged for Debian, as far as I can tell), I was able to get dumper-companion.py running. I had already ripped the CD to an .iso file to speed things up while experimenting, so this worked to dump all the files:
Code: Select all
dumper-companion.py iso sswarlock.iso output
It also dumped folders that I almost certainly don't need, such as "Trash", "Desktop Folder" and "Total Distortion DEMO!!". It would be nice to know what can be safely removed.
In the end, ScummVm would let me add the game but complained about it:
Code: Select all
The game in 'output' seems to be an unknown game variant.
Please report the following data to the ScummVM team at https://bugs.scummvm.org/ along with the name of the game you tried to add and its version, language, etc.:
Matched game IDs for the director engine: warlock-mac
{"Spaceship Warlock™", 0, "cfa68a1bc49251497ebde18e5fc9c217", 273371},
Re: Early Macromedia Director titles are supported now
ScummVM complains in console window that SS Warlock "Could not find classicmacfonts.dat. Falling back to built-in fonts!", both in win and mac versions. Is it normal behavior?
- Praetorian
- ScummVM Developer
- Posts: 882
- Joined: Tue May 08, 2007 8:54 am
- Location: Greece
- Contact:
Re: Early Macromedia Director titles are supported now
This classicmacfonts.dat file is available in Mac OS 7 disk images. You don't need the file to run the games (since the engines will use fallback fonts) but arguably the experience is "better" with the classic mac fonts.
There is a developer tool in our repository (devtools/create_classicmacfonts.sh), basically a shell script, which can extract this file (see comments at the start of the script file for instructions and alternatives) -- I think it's only been tested on Mac OS).
create_classicmacfonts.sh, create_japanesemacfonts.sh
_____________________________________________________
Scripts for extracting fonts from Classic MacOS images freely
available from apple.com. Used in Director, MacVenture, SCUMM
and WAGE engines.
Re: Early Macromedia Director titles are supported now
This old font is copyrighted or what? I can't just download somewhere?Praetorian wrote: ↑Wed Sep 01, 2021 1:49 pmThis classicmacfonts.dat file is available in Mac OS 7 disk images. You don't need the file to run the games (since the engines will use fallback fonts) but arguably the experience is "better" with the classic mac fonts.
There is a developer tool in our repository (devtools/create_classicmacfonts.sh), basically a shell script, which can extract this file (see comments at the start of the script file for instructions and alternatives) -- I think it's only been tested on Mac OS).
create_classicmacfonts.sh, create_japanesemacfonts.sh
_____________________________________________________
Scripts for extracting fonts from Classic MacOS images freely
available from apple.com. Used in Director, MacVenture, SCUMM
and WAGE engines.
But thanks, i will try to make this dat manually
Re: Early Macromedia Director titles are supported now
Yes, the script mentioned above downloads disk images from apple.com, but those are in a form of self-extracting files which require end-user to accept Apple EULA. Thus, we cannot provide the file for direct download (we wish we could).
Eugene
- heidi.wenger
- Posts: 7
- Joined: Sun Oct 03, 2021 11:19 pm
Re: Early Macromedia Director titles are supported now
Very nice! Looks like it means also those classic Moomin games from Finland <3
-
- Posts: 59
- Joined: Tue Aug 22, 2017 7:55 am
Re: Early Macromedia Director titles are supported now
I have the CD of the game Victor Vector and the Hypnotic Harp. I’m able to add it, and ScummVM recognizes it, but when I start it, ScummVM crashes. There is no error message. I just go back to the desktop after ScummVM closes.
- Raziel
- ScummVM Porter
- Posts: 1538
- Joined: Tue Oct 25, 2005 8:27 am
- Location: a dying planet
- Contact:
Re: Early Macromedia Director titles are supported now
Do you get console output or a console log?
Can you try starting scummvm with a debug flag "-d 5" f.e. and see if there is something printed?
Can you try starting scummvm with a debug flag "-d 5" f.e. and see if there is something printed?
-
- Posts: 59
- Joined: Tue Aug 22, 2017 7:55 am
Re: Early Macromedia Director titles are supported now
I’m using the ScummVM daily build, and I tried pressing Ctrl+Alt+D, but I couldn’t access the debugger. I even checked the keymapper to make sure I was pressing the right keys. I used my phone to record a video of the console output so I don’t miss anything. This is what it says.
User picked target ‘vharp-win’ (engine ID ‘director’, game ID ‘vvharp’)…
Looking for a plugin supporting this target… Macromedia Director
WARNING:punycode_decode: overflow1!
Running Victor Vector & Yondo: The Hypnotic Harp (English)
Hypnotic.exe: 88f47406f34ec36e751a64f7c76f2c4, 370272 bytes
WARNING: SearchSet::add: archive ‘E:\HYPNOTIC\’ already present!
Starting v300 Director game
WARNING: Could not find classicmacfonts.dat. Falling back to built-in fonts!
WARNING: Lingo Inited!
-- “Now loading LINGO.INI 20/9/21 2:57 PM”
-- “This computer is running in 8-bit color depth.”
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwqtw’!
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwavi’!
WARNING: Movie is from later version v310!
Switching to Director v310
Reloading builtins
WARNING: Lingo ::closeXlib: Unimplemented xlib: ‘dpwqtw’!
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwqtw’!
WARNING: Lingo ::closeXlib: Unimplemented xlib: ‘dpwavi’!
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwavi’!
WARNING: Score::startLoop(): Movie has no frames!
WARNING: processEvents: request to access frame 1 of 0!
WARNING: processEvents: request to access frame 1 of 0!
WARNING: processEvents: request to access frame 1 of 0!
After that ScummVM closes, and I’m back at the desktop.
User picked target ‘vharp-win’ (engine ID ‘director’, game ID ‘vvharp’)…
Looking for a plugin supporting this target… Macromedia Director
WARNING:punycode_decode: overflow1!
Running Victor Vector & Yondo: The Hypnotic Harp (English)
Hypnotic.exe: 88f47406f34ec36e751a64f7c76f2c4, 370272 bytes
WARNING: SearchSet::add: archive ‘E:\HYPNOTIC\’ already present!
Starting v300 Director game
WARNING: Could not find classicmacfonts.dat. Falling back to built-in fonts!
WARNING: Lingo Inited!
-- “Now loading LINGO.INI 20/9/21 2:57 PM”
-- “This computer is running in 8-bit color depth.”
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwqtw’!
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwavi’!
WARNING: Movie is from later version v310!
Switching to Director v310
Reloading builtins
WARNING: Lingo ::closeXlib: Unimplemented xlib: ‘dpwqtw’!
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwqtw’!
WARNING: Lingo ::closeXlib: Unimplemented xlib: ‘dpwavi’!
WARNING: Lingo ::openXLib: Unimplemented xlib: ‘dpwavi’!
WARNING: Score::startLoop(): Movie has no frames!
WARNING: processEvents: request to access frame 1 of 0!
WARNING: processEvents: request to access frame 1 of 0!
WARNING: processEvents: request to access frame 1 of 0!
After that ScummVM closes, and I’m back at the desktop.
Re: Early Macromedia Director titles are supported now
By the way devtools/create_classicmacfonts.sh link is no longer working. Anyway, i don't have Mac OS to extract these fontsPraetorian wrote: ↑Wed Sep 01, 2021 1:49 pmThis classicmacfonts.dat file is available in Mac OS 7 disk images. You don't need the file to run the games (since the engines will use fallback fonts) but arguably the experience is "better" with the classic mac fonts.
There is a developer tool in our repository (devtools/create_classicmacfonts.sh), basically a shell script, which can extract this file (see comments at the start of the script file for instructions and alternatives) -- I think it's only been tested on Mac OS).
create_classicmacfonts.sh, create_japanesemacfonts.sh
_____________________________________________________
Scripts for extracting fonts from Classic MacOS images freely
available from apple.com. Used in Director, MacVenture, SCUMM
and WAGE engines.
- Praetorian
- ScummVM Developer
- Posts: 882
- Joined: Tue May 08, 2007 8:54 am
- Location: Greece
- Contact:
Re: Early Macromedia Director titles are supported now
The create_classicmacfonts.sh script has been integrated in the dumper-companion.py python script.
There's quick instructions on the usage of this script with python3 (and one or two additional libraries installed depending if you are on Mac OS or other OS).
https://docs.scummvm.org/en/latest/use_ ... files.html
Apparently there's a browser version as well (see the documentation page above), but personally I haven't tested that as of yet, and don't know if it covers macfonts as well.
The "--help" output indicates that it should be easy enough to run it:
Code: Select all
usage: dumper-companion.py [-h] {iso,dir,str,createmacfonts} ...
positional arguments:
{iso,dir,str,createmacfonts}
iso Dump HFS ISOs
dir Punyencode all files and dirs in place
str Convert strings or standard in to or from punycode
createmacfonts Creates classicmacfonts.dat from Mac OS 7 system images
options:
-h, --help show this help message and exit
Re: Early Macromedia Director titles are supported now
Thanks, it turned out to be easier than i thought! Installed Python + machfs, then i just launched "dumper-companion.py createmacfonts" in command line and now i have my original mac fonts, worked in Windows 10 environment (i hope they are worth it)Praetorian wrote: ↑Fri Feb 03, 2023 11:16 amThe create_classicmacfonts.sh script has been integrated in the dumper-companion.py python script.
There's quick instructions on the usage of this script with python3 (and one or two additional libraries installed depending if you are on Mac OS or other OS).
PS - or maybe i don't, classicmacfonts.dat is only 22 bytes long and it seems empty
Code: Select all
Downloading System 7.0.1 image...done
Data len is: 4836709
Decompressing...done
Reading Fonts.image...
Compressing Athens...
Traceback (most recent call last):
File "D:\Downloads\mac\dumper-companion.py", line 794, in <module>
exit(f(args))
^^^^^^^
File "D:\Downloads\mac\dumper-companion.py", line 686, in create_macfonts
with io.BytesIO() as fonts_bytesio:
^^
NameError: name 'io' is not defined. Did you mean: 'id'?
- Praetorian
- ScummVM Developer
- Posts: 882
- Joined: Tue May 08, 2007 8:54 am
- Location: Greece
- Contact:
Re: Early Macromedia Director titles are supported now
This might be a bug for us to fix.KainXVIII wrote: ↑Fri Feb 03, 2023 12:56 pm Thanks, it turned out to be easier than i thought! Installed Python + machfs, then i just launched "dumper-companion.py createmacfonts" in command line and now i have my original mac fonts, worked in Windows 10 environment (i hope they are worth it)
PS - or maybe i don't, classicmacfonts.dat is only 22 bytes long and it seems emptyCode: Select all
Downloading System 7.0.1 image...done Data len is: 4836709 Decompressing...done Reading Fonts.image... Compressing Athens... Traceback (most recent call last): File "D:\Downloads\mac\dumper-companion.py", line 794, in <module> exit(f(args)) ^^^^^^^ File "D:\Downloads\mac\dumper-companion.py", line 686, in create_macfonts with io.BytesIO() as fonts_bytesio: ^^ NameError: name 'io' is not defined. Did you mean: 'id'?
Can you try replacing the line 686:
Code: Select all
with io.BytesIO() as fonts_bytesio:
Code: Select all
with BytesIO() as fonts_bytesio:
Basically remove the "io." prefix before the "BytesIO()"
Please keep the spacing and indents as they are, as python is very picky and depending on these.
Re: Early Macromedia Director titles are supported now
Yup, now its working!