Converting from R7
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/11/2002 at 10:14, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 8.012
Platform: Windows ;
Language(s) : C++ ;---------
I'd like to request more specific instructions on how to convert an existing plugin from R7 to R8.
I looked at the new SDK project and was wondering what the differences are between the Win32 Intel configuration and the Release and Debug configs. Shouldn't the projects be completely Windows independent for cross-platform plugins?
Thank you,
Jane -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 10/11/2002 at 06:44, xxxxxxxx wrote:
Quote: Originally posted by jane on 08 November 2002
>
> * * *
>
> I'd like to request more specific instructions on how to convert an existing plugin from R7 to R8.
The easiest way is to base it on the R8 SDK project, as you probably did with the R7 SDK. Just move your source files over, and change the plugin hooks to the new system with classes with virtual functions. There's a list of changes in the SDK docs.
For more specific instructions I'd need more information about the problems encountered doing the above. Doing a 1:1 conversion shouldn't take too long, though then you might also want to switch to the new parameter description system. (I.e. what's in the attributes manager.)
> I looked at the new SDK project and was wondering what the differences are between the Win32 Intel configuration and the Release and Debug configs. Shouldn't the projects be completely Windows independent for cross-platform plugins?
If you base your project on the R8 SDK project file it will be platform independent. Compiling a mac version is just a matter of opening the mac R8 SDK file, removing all example files, adding your own, and compiling.
The difference between Debug and Release is just that the former can be used for debugging. (Switch to Debug and press F5. Specify the C4D exe file as application.) -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/11/2002 at 11:18, xxxxxxxx wrote:
Since many people will be updating their plugins, it would be more convenient to update an existing project rather than take the SDK project, clean it out, and move files over. That is why I was hoping for step-by-step instructions in the SDK documentation under "Migration from the R7 SDK." Something like:
1. Open _api_v8.dsw in 8.012\resource\_api_lib.
2. Compile release and debug versions of library: _api_v8_rel.lib and _api_v8_deb.lib
3. Add these two libraries to your project.
4. Remove api files from your project.
5. In your Project Settings, update "additional include directories": .\res,.\res\description,..\..\resource\_api,..\..\resource\_api\c4d_customgui, ..\..\resource\_api\c4d_libs,..\..\resource\_api\c4d_preview, ..\..\resource\_api\c4d_scaling,..\..\resource\_api\c4d_gv
6. Replace all c4d_xxx.h includes with #include "c4d.h"
7. In main.cpp, replace C4D_PlStart() and C4D_PlEnd() with pluginStart() and PluginEnd().
etc...
From that point, the work is the same to update the rest of the code.
If you think it best to work from the R8 SDK project, perhaps the process could be made easier by providing a very basic "empty" project, or projects for each plugin type.
I know what the difference is between debug and release. I was asking about the Intel config. What I am guessing now is that it is an optimization for using the Intel compiler, and I can ignore it.
Thanks,
Jane -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/11/2002 at 11:27, xxxxxxxx wrote:
Quote: Originally posted by jane on 11 November 2002
>
> * * *
>
> Since many people will be updating their plugins, it would be more convenient to update an existing project rather than take the SDK project, clean it out, and move files over.
For most projects that probably won't be faster since there are lots of little details to set in the project settings. Compared to just selecting all files in the SDK example project and pressing delete, then choosing add files, you'd have to have a very specific old project file for it to be faster to update it.
> That is why I was hoping for step-by-step instructions in the SDK documentation under "Migration from the R7 SDK."
Such a guide would indeed be nice for completeness. It was planned but didn't make the first documentation version. I'll try to include it in the next version.
> If you think it best to work from the R8 SDK project, perhaps the process could be made easier by providing a very basic "empty" project, or projects for each plugin type.
I've also thought of that, but the work to maintain even just two versions (big and small) on two platforms would be too much to be worth it. You'll have to live with the example files for now.
> I know what the difference is between debug and release. I was asking about the Intel config. What I am guessing now is that it is an optimization for using the Intel compiler, and I can ignore it.
Sorry, I misunderstood your question. Yes, the Intel option is for use with the Intel compiler. It sometimes generates a little bit faster code than Microsoft's own compiler.