Hello Vincent,
After running the XcodeLegacy script with the "buildpackages" argument, then the "install" argument, you can run it with the "cleanpackages" argument to remove many of the package and archive files that the script created (I think some still need to be deleted manually, sorry). After doing all that, Xcode 4.6.3 (in your case) should "just work".
I am unaware of any programs to convert from *.cur to the Mac's CURS resource format. However, the CORE API works with *.png files, so you could easily switch to the hdi::core::Cursor class.
And yes, CORE is targeted at new plug-ins, but depending on your project you might be able to use CORE with minimal rewriting. Off the top of my head, you will need to use our hdi::core::pluginSetup() and hdi::core::pluginDestroy() paradigm at the very least. This will allow you to set some callbacks to receive startup and shutdown messages. From there you can use the hdi::core:ispatcher class to create annotators, notifiers, and timers with callbacks.
Once you've got that basic "plumbing" done, you can still use the AI SDK(s) where necessary. Just add them to your project so you can compile against the headers. Under the hood, CORE uses the AI SDK suites, so you can simply check if something like the sAIArt global is already acquired (and if not, acquire it yourself). If it is already acquired, do not overwrite it or release it, since CORE depends on it! In the future we might make it easier for developers to acquire/release suites, but we're not there yet.
Once you've got all your messaging handled with the Dispatcher and are compiling against the AI SDK yourself, you should be able to use our UI classes. Just make sure you're following the notes from the Skeleton sample's Plugin class. In order to maintain proper cross-platform code and cross-version functionality, it's important that you create/destroy your UI elements at specific times.
Lastly, the vast majority of CORE objects allow you to access the internal AI object that the CORE object represents. For example, the hdi::core::Art class allows access to the underlying AIArtHandle. Be careful though, because the CORE object obviously expects its underlying data to have a certain state and you don't want to e.g. nullify the AIArtHandle (as the CORE object would no longer function properly and probably crash).
I have not tried a project with this particular set up, but having designed most of CORE myself I think it will be fine. I did have this sort of use case in mind, but haven't made any samples yet since it wasn't our primary goal.
Let us know if you have questions!
After running the XcodeLegacy script with the "buildpackages" argument, then the "install" argument, you can run it with the "cleanpackages" argument to remove many of the package and archive files that the script created (I think some still need to be deleted manually, sorry). After doing all that, Xcode 4.6.3 (in your case) should "just work".
I am unaware of any programs to convert from *.cur to the Mac's CURS resource format. However, the CORE API works with *.png files, so you could easily switch to the hdi::core::Cursor class.
And yes, CORE is targeted at new plug-ins, but depending on your project you might be able to use CORE with minimal rewriting. Off the top of my head, you will need to use our hdi::core::pluginSetup() and hdi::core::pluginDestroy() paradigm at the very least. This will allow you to set some callbacks to receive startup and shutdown messages. From there you can use the hdi::core:ispatcher class to create annotators, notifiers, and timers with callbacks.
Once you've got that basic "plumbing" done, you can still use the AI SDK(s) where necessary. Just add them to your project so you can compile against the headers. Under the hood, CORE uses the AI SDK suites, so you can simply check if something like the sAIArt global is already acquired (and if not, acquire it yourself). If it is already acquired, do not overwrite it or release it, since CORE depends on it! In the future we might make it easier for developers to acquire/release suites, but we're not there yet.
Once you've got all your messaging handled with the Dispatcher and are compiling against the AI SDK yourself, you should be able to use our UI classes. Just make sure you're following the notes from the Skeleton sample's Plugin class. In order to maintain proper cross-platform code and cross-version functionality, it's important that you create/destroy your UI elements at specific times.
Lastly, the vast majority of CORE objects allow you to access the internal AI object that the CORE object represents. For example, the hdi::core::Art class allows access to the underlying AIArtHandle. Be careful though, because the CORE object obviously expects its underlying data to have a certain state and you don't want to e.g. nullify the AIArtHandle (as the CORE object would no longer function properly and probably crash).
I have not tried a project with this particular set up, but having designed most of CORE myself I think it will be fine. I did have this sort of use case in mind, but haven't made any samples yet since it wasn't our primary goal.
Let us know if you have questions!