Markus Dheus <mdheus.TakeThisOut@newsguy.com> wrote:
> > So the question is: Does anyone have any experiences with "Classic"
> > PowerPlant on XCode? How endian sensitive is Powerplant? I suppose it
> > would need some PPob wrangling, are there any more problem areas?
>
> Following up my own message:
>
> It appears that Apple provides some code for changing the endianness of
> PPob data in
>
> <http://developer.apple.com/documentation/MacOSX/Conceptual/universal_bi
> nary/universal_binary_intro/chapter_1_section_1.html>
>
> and there's documentation on what changes PowerPlant (CW8.3 version)
> needs for XCode at
>
> <http://developer.apple.com/documentation/DeveloperTools/Conceptual/Movi
> ngProjectsToXcode/index.html>
>
> So it looks the continuing support of PowerPlant Applications with XCode
> (and x86) won't be a major hassle. That's a great relief.
>
> It's sad to finally leave CodeWarrior for good. I've been using it since
> DR2 on the Mac and later also used it for PalmOS and Windows
> development, but it's now finally time to move on on all platforms.
I too have a pet project in PowerPlant that I'll be migrating to x86.
It's been 95% Mach-O ready for at least two years, I just lacked the
final impetus to finish that off.
I've looked at Apple's document and posted my initial thoughts at
<http://www.sailmaker.co.uk/ubi_notes.html>.
I also make heavy use of the PowerPlant networking classes, and the
3rd-party WASTE wrappers. Both of those could be a lot of work. I might
be better off ditching them for CFSocket etc and ATSUI.
Apple's code for flipping ppob resources is all very well, but not
easily extensible to custom CTYPs. It's just a huge dumb switch
statement on CTYP with a default that prints to stderr and asserts.
A better approach, suggested to me by James W Walker, might be to
augment UReanimator and LStream with byte-swapping. That way,
everything would just work, provided authors of custom CTYPs have used
LStream properly in their constructor from LStream, i.e. using operator
>> for each member, rather than inhaling a block of raw data and using
something like BlockMove or memcpy.
A lot can be done with zero changes to PowerPlant code, witness my
scroll wheel handler, but in this case I think some changes to
PowerPlant code will be necessary.
Whatever I do, I'll be sure to share it, even if all I can share is
diff files from a known baseline.
Of course, it would help enourmously if MW were to either (a) provide
some official mechanism for submitting and distributing changes to
PowerPlant code, or (b) simply bite the bullet and open-source it.
What do you say, MetroWerks? Will you do us one final favour and open
PowerPlant (and maybe PPx) to either controlled developer contribution
or full open-source?
Richard.<!-- ~MESSAGE_AFTER~ -->
>> Stay informed about: So what's the status of PowerPlant source now?