• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

MetroWerks PowerPlant Constructor ppob resource format

Is anyone familiar with the proprietary Constructor app ppob format? Or know of any existing tool that will help me compile them back to .rsrc / .r files. I might be able to figure it out but if someone was already familiar with it from back in the day, that would be helpful.

For context I have my PowerPlant based app built with Retro68 but I had used and would like to continue to use Constructor for the UI (for now).
 
My Resorcerer 2.4 has a PPob template for PowerPlant 2.0 (CWPro5).

The one I have has Attachment=atch instead of atta and adds BalloonHelpAttachment=Blln and adds CmdTarget PaneID to ContextualMenuAttachment=cmat.

CW Pro 7, 8, 10 have a "PowerPlant.r" Rez file (in the "Metrowerks CodeWarrior/Mac OS Support/PowerPlant/PowerPlant Resources" folder) which includes a PPob type. And they have a Resorcerer template for PowerPlant 2.2 (CWPro7).

Maybe that means my Resorcerer's CWPro5 template originally came from CW Pro 5.

So try the "PowerPlant.r" file from the version of CodeWarrior that you are using.
 
Hey thanks for the response, trying to understand what you mean though. Are you suggesting I look at the PowerPlant.r file to determine if I can reverse engineer something to convert any ppob file to .r, or that there is tooling in some versions of of CodeWarrior that can do it for me? I am using CW 4 as I am targeting 68k architectures incidentally.
 
Constructor's project files already contain everything in resources, so I'm not sure what you mean by "compile back to .rsrc files". Open one in ResEdit or Resourcerer and see.
 
Ah I see. I had tried dragging a ppob file onto ResEdit but I get the error

The document "AppResources.ppob" could not be opened, because the application "Constructor 2.5" could not be found.
Could not find a translation extension with appropriate translators.

Maybe some "translation extension" if found will allow me to do what I need?
 
Can you post a sample ppob or a url to one so I can know what you're talking about? I thought we are talking about PPob resources in the resource fork.

If it's a PPob resource then DeRez with PowerPlant.r can convert it to a .r text file and Rez with PowerPlant.r can convert a .r text file to resources in a resource file.
 
Better use the „Open…“ menu item in ResEdit with these kinds of errors
hah! This worked.

So I guess I could copy the contents here out to a rsrc file then use DeRez to convert to .r, or from this comment
"If it's a PPob resource then DeRez with PowerPlant.r can convert it to a .r text file and Rez with PowerPlant.r can convert a .r text file to resources in a resource file."

are you saying that there is some magic PowerPlant.r file that I can feed directly to DeRez to do this without a manual copy paste process?
 
So I guess I could copy the contents here out to a rsrc file then use DeRez to convert to .r, or from this comment

It's *already* what you're calling an "rsrc" file. The file extension is meaningless, classic MacOS doesn't use file extensions for anything important. Even the type is set correctly to be a resource file:

Screenshot 2025-05-04 at 17.48.06.png

so there's no copying and pasting involved. Just run the file through DeRez if you want a text representation for some reason.

I think you might want to read up on how classic MacOS filetyping and resources work, because you seem to be rather confused.
 
There's some Rez / DeRez notes at https://68kmla.org/bb/index.php?thr...el-to-modify-keyboard-input.37848/post-561523

It has example Rez / DeRez commands that include multiple .r include files to Rez a .r file into a resource fork or DeRez a resource fork into a .r file. It also has example grep and bbfind (from BBEdit.app) commands for finding which .r files to include.

To get a list of resources types and IDs (assuming it doesn't have a resource of type xxxx):
Code:
DeRez -p -only xxxx "AppResources.ppob" 2>&1 | perl -nE 'if (/### .* - Skipping (.*)/) { print $1 . "\n" }'
 
Back
Top