1 Reply Latest reply on Jan 16, 2008 8:10 AM by frashjiveturkey

    expert on PC, newbie on Mac - Xtras

    Level 7
      Hi

      I develope director apllications on PC for over 10 years.
      Now my customer wants to port couple of applications, made for PC, on mac
      platform

      As I understand, the problem is to rewrite everything, wat is done with
      xtras and script, that contains relative pathes to external files

      My questions concerns more to xtras field

      Under windows we have just one file *.x32 for an Xtra and call functions
      from ist or use its features

      But on Mac there are two different files for xtra - one for PowerMac and one
      for Intel Mac.

      My questions are:

      1) do I have to create a version of the project for each Mac platform, and
      place in xtras folder just specific version of xtra(PowerMac or Intel Mac)
      or can I create one version of project and copy both files into xtras folder
      and system will load need file during playback

      2) If there are no version of Intel Mac Xtra available - can the project be
      started just under Rosetta emulator?

      3) Can director application under Mac export and dynamically load JPG
      files(which Xtra can be used for this purpose under Mac)

      4) Under PC I use budapi xtra for checking if the director application
      window is the toppest window and move it to top if it is not. Relevant
      funktions are available just for windows. How can be this funktionaliti
      realised under Mac

      Any Help will be appreciated
      Thank you in advance
      Game_dev

      P.S. Please be indulgent if the questions are not correct or were answered
      100 times. I'm realy new to MAC but need information as soon as possible to
      make estimation of portation to this system



        • 1. Re: expert on PC, newbie on Mac - Xtras
          frashjiveturkey
          It's probably not one for PPC and another for Intel - It's more likely one for OSX and one for OS 9x (or Classic). OS9 is pretty much obsolete now. Unless the client really wants it to work on 8 year old Macs you could probably do without it.

          1.) One projector will work with PowerMac and Intel Macs - they just both need to have OS X.
          If you download an xtra it should have a 'Cross platform resource' folder with the counterpart to your platforms version of the xtra and instructions of how to paste a line into the xtrainfo.txt file (which is in 'Macromedia DirectorMX2004\Configuration\'. Or if you're using openXlib to fire up your xtras I think you'll have to make a corresponding folder for the Mac xtras and choose which platforms extra to call by using the platform function - check whether it contains "mac" and then open the right file that way.

          2.) As the latest version of Director is MX2004, it pre-dates the Intel Macs so it's always considered as a PowerPC application - which run fine for me.

          3.) You can use buddyAPI to get file names and use regular lingo to generate new cast members and set the filenames/paths from the ones. Also I set the file path delimiter by checking the platform property.

          if the platform contains "mac" then
          delim=":"
          else
          delim="\"
          end if

          set Files = baFileList( the moviepath&"graphics", "*.*" )

          mymem=new(value(#bitmap), castLib("graphics"))
          prevdelim=the itemdelimiter
          mymem.name=lname.item[lname.item.count]
          mymem.filename=the moviepath&"graphics"&delim&files[m]

          This is just snipped from a bigger behavior I'm using, but the nuts and bolts are there. One thing to watch out for is filename lengths - Mac and Windows deal with long file names differently - to be on the safe side, keep your filenames under 33 characters including the extension (I think thats the safe limit anyway). Otherwise you'll could try using Buddy again to figure out long and short file names.

          4.) Never tried it, but you could maybe do it with _player.frontwindow and movetofront()


          It can be a bit of a headache at first, but once you get used to what to look out for it gets easier.

          Hope this helps