Moving a Hypercard project forward

Shari shari at
Thu Dec 23 10:59:40 EST 2010

This hasn't been the easiest task but here's a few tricks I've learned:

For some reason the original Hypercard stack would not open with the 
current Revolution nor most of the previous versions.  I was able to 
open it using Metacard 2.4.3 and then resave it, whereas Revolution 
would then open it.  Very early versions of Rev may have opened it 
but I did not try back that far.  Others said it may have been as 
simple as compressing the stack before opening, but without Hypercard 
to do that with, I had to find the other way.

Since I no longer have an OS that runs Hypercard, or even Hypercard 
itself, I'm not able to use the original stack to refresh on how it 
was supposed to work.  (Folks suggested getting one of the programs 
that allow you to emulate the old classic OS, but as I'd found 
alternate ways to get the data out, I did not end up needing that 
solution.)  Even the documentation I'd written which was many pages 
long was in a DocMaker format which is also not supported on OSX nor 
did I find a program that would access the old files.

I did find a workaround.  An application called Rezilla allowed me 
into the Resource Fork of the DocMaker files, where I could copy and 
paste the How To manual I'd written for the game and paste it into my 
Apple Pages program where I could revise it and give thought to how 
to incorporate it into the revised game.  Reading the game manual 
also helped me to get back up to speed on how the game worked.  It 
was all stored in TEXT resources.

Also, Rezilla was a godsend that allowed me into the Resource Fork of 
the original Hypercard stack, which was where all the graphics and 
sounds were stored.  While I did not use the original graphics and 
sounds, I was able to copy them as files and put them in a folder 
that I could later go thru, image by image, and come up with newer 
better replacement graphics.  At least with Rezilla I could see what 
graphics/sounds I needed to have to revamp this game.

Also, I'd used quite a few externals such as CreditsDialog.  Looking 
at the code told me nothing about what the CreditsDialog call should 
pull up.  But studying the Resource Fork with Rezllla showed me what 
the CreditsDialog external was displaying so I knew what images to 
replace those segments of code with.  I had used that to display 
graphical good news/bad news windows during the game.  Whenever you 
reach a milestone a window pops up with an image and message.  So 
unlike the name which would lead you to believe it was simply used 
for "About this program...) the CreditsDialog was an integral part of 
the game experience.

Another external I'd used in the original game was Listoid, which 
allowed the creation of a bunch of little palette windows with 
information displayed.  That was easier to recreate in Rev since I 
just made sub-stacks for this.  The "Find Folder" external was no 
longer necessary having the built in Rev "specialFolderPath" function.

Of course all the AddColor calls, which were sprinkled like salt and 
pepper thru every piece of the code, all needed to be replaced.  As 
most of them included visual effects the replace was simply "lock 
screen, show/hide/update whatever, unlock with visual effect"

Another issue I encountered was with the visual effects.  Hypercard 
had effects that are missing in Rev.  I had before created a simple 
stack that allowed me to create an effect in Quicktime and copy the 
raw data for the effect.  I created various effects and pasted them 
as raw data into Custom Properties.  On preOpenStack it put those 
Custom Properties into globals.  "put the coolEffect of this stack 
into jaws" (jaws being a global)  Then I could call those custom 
effects just as with the built in effects.  I did have to have the 
program check for the availabilty of certain types of effects on each 
machine and use built in options if they were missing, but at least 
some folks would get the cooler effects.

Have not tackled the sound issue yet beyond discovering that this 
also will not be a simple issue.  Perhaps business projects make the 
transition easily but games, not so much.  I do know that multiple 
sounds was an integral part of the game, and the ability to randomize 
them so that it was not the same all the time.

Bad Dog Books
Critters, humor, patriots and sports t-shirts
  WlND0WS and MAClNT0SH shareware

More information about the Use-livecode mailing list