BASICS



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 25/06/2007 at 08:38, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   R 10 
    Platform:   Windows  ;   
    Language(s) :

    ---------
    Dear Forum Members !

    That's my first time writing into a forum but I think that my time has come to create a C4D Plugin ;). But there are some questions I want to know:

    1.)What are the correct steps for creating a plugin and which kind of prgramming language is needed (only SDK ?)?

    2.)What are the functions of res-,cdl-,xdl-,.h datas?

    3.)What is the function of the "description" and "String_de" files ?

    4.)I have to do what for compiling my datas

    I would be happy writing me back.

    Yours Tec4D



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 25/06/2007 at 18:43, xxxxxxxx wrote:

    Hi ...
    When I started to learn C4D ... I used this link ( probably you've already known ) ...

    http://astrofish.com

    The site owner is one of this forum members ...

    This forum, the site I mentioned and the C4DSDK help file will help you through this learning and then you will be able to create some plugins though you still can't ( or don't know how to ) answer the questions you now asked ...

    One thing for sure is writing a plugin is a happy thing ... haha
    Wishing you find happiness in it ...
    Zaw Min Tun



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 26/06/2007 at 06:32, xxxxxxxx wrote:

    1. You can use the built-in COFFEE scripting language to make platform-independent plugins or for faster plugins with much more access you'll need to use C++ but then you'll need at least two build environments.

    2. Files in the 'res' folder are resource files. The .h files there defines (enumerates) the resource IDs (long values). The .res files define the description resources and possibly the dialog resources as well. The .str files define any text associated with a resource (e.g.: the text on a button). .cdl, .xdl, .cld64, and .dylib are the actual C++ plugin (static library - Windows 32-bit, MacOS Classic, Windows 64-bit, and MacOS Universal Binary respectively).

    3. Descriptions are used in the Attributes Manager for things like objects, tags, materials. They describe the data types, their GUI and layout.

    4. What you need to configure and build plugins is all described in the SDK documentation - which you can get here. You'll need Microsoft Visual C++ 6.0 or later for Windows, CodeWarrior for MacOS Classic (unless you'll just support R10 and later), Xcode for MacOSX Universal Binary. Xcode is free. VC++ 2005 Express is free - but does not support Windows 64-bit builds. CodeWarrior will be difficult to get as it is no longer supported.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/06/2007 at 11:33, xxxxxxxx wrote:

    Thanks for all topics !

    So there are different ways for creating a plugin:

    1.) via COFFEE

    2.) C++ and SDK

    Is that correct ?

    Nevertheless are the resource - and resourceID (ID.....?) files created in C++ or COFFEE ?

    -----------
    Thanks for all

    Yours Tec 4D



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/06/2007 at 15:16, xxxxxxxx wrote:

    Yes.

    To be pedantic, there are several levels of 'scripting' here:

    1. Xpresso nodes
    2. COFFEE code in Xpresso node
    3. COFFEE code in COFFEE tag (Expressions)
    4. COFFEE plugin (.cof source file in the plugins folder)

    COFFEE plugins are pretty much the same as C++ plugins in the way they are structured and run - COFFEE doesn't need to be compiled as it is run through an interpreter (kinda like BASIC) which explains its slower execution compared to C++ code compiled into machine code. Unlike COFFEE plugins, COFFEE code in tag/node is not a particular 'plugin type', runs strictly from a main() method, and has some restrictions (such as file access).

    Regarding resources, doesn't matter. The same .h/.res/.str file types and structures are used both by COFFEE and C++.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/06/2007 at 15:45, xxxxxxxx wrote:

    I got a question that might well fit in here regarding COFFEE: If I am correct I can change the code of a plugin / tag or something like that while C4D is running and then just order C4D to reload the plugins and I'm set, which should help creating COFFEE plugins more rapidly, right?
    But: Is there something like a development environment for COFFEE that "helps" me with things like auto-completion or something like that or do you just code in a text editor of your choice?

    PS: I'm asking because I think I might have to implement one or two really simple tags (won't do anything in C4D, they will act more as an input facility for the user to control an export plugin I'm implementing, so they will just need some checkboxes and textfields) and I'm thinking about doing those things in COFFEE. But I highly doubt I will be able to pull that off faster in COFFEE than in Cpp if there is no such thing as a development "environment" for COFFEE and I'd have to look up _everything_ in the documentation. I don't mean to hijack this thread in any way, I just thought it would fit in here nicely because it is a really basic question about the means to create a plugin for C4D.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 27/06/2007 at 16:09, xxxxxxxx wrote:

    You can change COFFEE code and reload to get the COFFEE plugins updated. No way to do this for C++ of course.

    The C++ SDK uses MSVC++, CodeWarrior, and/or Xcode. These are complete build environments with code editing, syntax highlighting, auto-completion, class method and member tracking and listing, debugging, etc. etc. etc.

    Basically, COFFEE is a scripting language and you normally use a text editor. The only 'debugging' is actually in Cinema 4D - the Console will display errors during load and execution.



  • THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

    On 28/06/2007 at 00:46, xxxxxxxx wrote:

    Thx for your answers, I think I'll stick with C++ and VS2005 then for the time being.


Log in to reply