Skip to main content
Participant
October 2, 2026
Question

[Legacy CS1] Rez file does not generate a PiPL

  • October 2, 2026
  • 0 replies
  • 4 views

So through a long set of circumstances I’m not interested in describing, I’ve managed to get access to an old Adobe Photoshop (Creative Suite 1.0) picker plugin codebase. Due to other circumstances that are an even longer thing, I’m preparing to release the thing as open source software (well, most of it: Adobe’s SDK code couldn’t be released as far as I’m aware).
The thing is, trying to build the plugin in Windows generates the binary file, but PS fails to detect it. The reason for that is that, exploring the 8bc with resource parsing tools, I can see there’s no PiPL.
I dig a little, and what’s going on is honestly stumping me:
So this is the build step the Rez file runs in the project (as copied from the VCPROJ), which is similar to the sample projects I found:
 

<Tool
Name="VCCustomBuildTool"
Description="Compiling PiPL resource..."
CommandLine="cl &quot;/I..\common&quot; /I..\..\Adobe_PS_CS_SDK\samplecode\common\includes /I..\..\Adobe_PS_CS_SDK\samplecode\common\resources /I..\..\Adobe_PS_CS_SDK\PhotoshopAPI\Photoshop /I..\..\Adobe_PS_CS_SDK\PhotoshopAPI\pica_sp /I..\..\Adobe_PS_CS_SDK\PhotoshopAPI\General /I..\..\Adobe_PS_CS_SDK\PhotoshopAPI\Resources /EP /DMSWindows=1 /DPROVERSION=0 /Tc&quot;$(InputPath)&quot; &gt; &quot;$(IntDir)\$(InputName).rr&quot;
..\..\Adobe_PS_CS_SDK\samplecode\Resources\cnvtpipl &quot;$(IntDir)\$(InputName).rr&quot; &quot;$(IntDir)\$(InputName).pipl&quot;
del &quot;$(IntDir)\$(InputName).rr&quot;
"
Outputs="$(IntDir)\$(InputName).pipl"/>

When removing the del directive, it appears the .rr file is completely empty, and thus the .pipl file cnvtpipl.exe is supposed to generate is also empty.
I have not been able to track down what the issue is: showIncludes shows a newline warning, a log that the Scripting.h and Scripting Common.h headers are being included, and then nothing.
Here’s the Rez file:
 

#include "Scripting.h"

#include "PIDefines.h"

#ifdef __PIMac__
#include "Types.r"
#include "SysTypes.r"
#include "PIGeneral.r"
#include "PIUtilities.r"
// #include "DialogUtilities.r" -- gives us duplicate DLOG/DITL warnings
#elif defined(__PIWin__)
#include "PIGeneral.h"
#include "PIUtilities.r"
#include "WinDialogUtils.r"
#endif

#include "PIActions.h"

//-------------------------------------------------------------------------------

resource 'PiPL' ( 0 /*ResourceID*/, plugInName " PiPL", purgeable)
{
{
Kind { Picker },
Name { plugInName },
Category { vendorName },
Version { (latestPickerVersion << 16) | latestPickerSubVersion },
RequiredHost { '8BIM' },

#ifdef __PIMac__
CodeCarbonPowerPC { 0, 0, "" },
#elif defined (__PIWin__)
CodeWin32X86 { "PluginMain" },
#endif

PickerID { vendorName " " plugInName },

SupportedModes
{
doesSupportBitmap, doesSupportGrayScale,
doesSupportIndexedColor, doesSupportRGBColor,
doesSupportCMYKColor, doesSupportHSLColor,
doesSupportHSBColor, doesSupportMultichannel,
doesSupportDuotone, doesSupportLABColor
},

EnableInfo { "true" },
}
};

//-------------------------------------------------------------------------------
// URL strings
//-------------------------------------------------------------------------------

resource StringResource (16200, "", purgeable)
{
"Between:"
};

resource StringResource (16201, "", purgeable)
{
"From:"
};

resource StringResource (16202, "", purgeable)
{
"Contrast Range:"
};

resource StringResource (16203, "", purgeable)
{
"Proportional:"
};

resource StringResource (16204, "", purgeable)
{
"Range:"
};

resource StringResource (16205, "", purgeable)
{
"Proportion:"
};

resource StringResource (16206, "", purgeable)
{
"Auto"
};

resource StringResource (16300, "", purgeable)
{
"HVC"
};

resource StringResource (16301, "", purgeable)
{
"HCV"
};

resource StringResource (16302, "", purgeable)
{
"CHV"
};

resource StringResource (16303, "", purgeable)
{
"CVH"
};

resource StringResource (16304, "", purgeable)
{
"VCH"
};

resource StringResource (16305, "", purgeable)
{
"VHC"
};

resource StringResource (16400, "", purgeable)
{
"Palette sort order: %s"
};


// EOF

The headers:
 

#ifndef _Scripting_H
#define _Scripting_H

// !!@ fix me
#define plugInName "The Plugin - Debug"

//#if PROVERSION
//#define plugInName "The Plugin - Professional"
//#else
//#define plugInName "The Plugin - Standard"
//#endif

#define ShortVersionString "1.4.2"
#define VersionString plugInName " " ShortVersionString
#define CurrentYear "2006"
#define ReleaseString ShortVersionString " (8/" CurrentYear ")"
#define VersionNumber 1
#define MinorVersionNumber 0x40

//#define ReleaseType development
//#define ReleaseType alpha
//#define ReleaseType beta
//#define ReleaseType release

// !!@ fix me
#define registrationUniqueID "EXCISED"

//#if PROVERSION
//#define registrationUniqueID "EXCISED"
//#else
//#define registrationUniqueID "EXCISED"
//#endif

#include "Scripting Common.h"

#endif // _Scripting_H

// EOF
#ifndef _Scripting_Common_H
#define _Scripting_Common_H

#define vendorName "Vendor Name"
#define plugInSuiteID 'Vn01'
#define plugInClassID plugInSuiteID

#define plugInCopyrightYear "2026"

#define plugInAETEComment plugInName " color picker"
#define plugInEventID 'pckR'
#define plugInUniqueID "EXCISED"
#define colorBookUniqueID "EXCISED"

#define plugInDescription \
"A generic color picker plug-in module for Adobe Photoshop�."

#define KEY_COLOR_1 'Clr1'
#define KEY_COLOR_2 'Clr2'
#define KEY_COLOR_3 'Clr3'
#define KEY_COLOR_4 'Clr4'
#define KEY_COLOR_5 'Clr5'
#define KEY_COLOR_6 'Clr6'
#define KEY_COLOR_7 'Clr7'
#define KEY_COLOR_8 'Clr8'
#define KEY_COLOR_9 'Clr9'
#define KEY_COLOR_10 'ClrA'
#define KEY_COLOR_11 'ClrB'
#define KEY_COLOR_12 'ClrC'
#define KEY_SELECTED 'Slct'

#define KEY_MUNSELL_NOTATION 'Muns'

#define KEY_GENERATE_COLOR_SELECTION 'GnCS'
#define KEY_GENERATE_ACCURACY 'GnAc'
#define KEY_GENERATE_DEPTH 'GnDp'
#define KEY_GENERATE_MODE 'GnMd'
#define KEY_GENERATE_RANGE_PARAMETER 'GnRa'
#define KEY_GENERATE_PROPORTION_PARAMETER 'GnPr'
#define KEY_GENERATE_COLOR_1 'GnC1'
#define KEY_GENERATE_COLOR_2 'GnC2'
#define KEY_GENERATE_HVC_COLOR_1 'GnH1'
#define KEY_GENERATE_HVC_COLOR_2 'GnH2'
#define KEY_SORT_ORDER 'Sort'

#define KEY_ONLY_WEB_COLORS 'WebC'

#define KEY_COLOR_RADIO 'CoRd'
#define KEY_COLOR_TEXT 'CoTx'

#define KEY_SHOW_GENERATE_BLOCK 'GNRT'

#define KEY_COLOR_BOOK_NAME 'CBNm'

#define HELP_URL 0
#define COMPANY_URL 1
#define PURCHASE_URL 2

#endif


If someone can help me, it would very much be appreciated, as this is a very niche topic and I haven’t been able to find much help online.
Thanks!