c4d_strings one file for both OS X and Win[SOLVED]



  • On 25/07/2015 at 10:45, xxxxxxxx wrote:

    User Information:
    Cinema 4D Version:   15/16 
    Platform:   Windows  ;   Mac OSX  ; 
    Language(s) :

    ---------
    I am having an issue where everything works for my builds on Windows and OS X.  When I create one plugin folder to be used on both the string resources only work on the platform I copied them from ( Windows works for Windows or OS X works for OS X ).

    How do I create one c4d_strings file that works on both?

    Ama



  • On 27/07/2015 at 05:08, xxxxxxxx wrote:

    Hi Ama,

    I'm not aware you have to do anything special. Can you provide me with two string files (one working only on Mac and one working only on Windows), so I can have a look? You can send these to sdk_support@maxon.net



  • On 27/07/2015 at 05:13, xxxxxxxx wrote:

    Thanks!

    I will send them in a few.

    Ama

    Originally posted by xxxxxxxx

    Hi Ama,
    I'm not aware you have to do anything special. Can you provide me with two string files (one working only on Mac and one working only on Windows), so I can have a look? You can send these to sdk_support@maxon.net



  • On 27/07/2015 at 08:06, xxxxxxxx wrote:

    Hi Ama,

    thanks for sending the string files. I threw those files (one at a time) into one of my example projects added all symbols to c4d_symbols.h and added code that printed every string via GePrint(GeLoadString()). All strings got printed, no matter which file I used. I did this test on Windows only, as you said neither file would work on the other system. So I think your string files are ok and the reason for failure has to be searched somewhere else.



  • On 02/08/2015 at 06:38, xxxxxxxx wrote:

    Hello,

    I have narrowed down the issue.  It seems to be with the c4d_symbols.h file.  On OS X alone changing the enumeration values changes the index into the string table.  None of the actual enumerations or string table have changed, only the indices associated with the c4s_symbols.h:

    Example:

    enum
    {
        S_OBJECT_TITLE = 10000,
        S_INNERDENSITY_TITLE = 10040,

    becomes:

    enum
    {
        S_OBJECT_TITLE = 10040,
        S_INNERDENSITY_TITLE,

    Now the string returned from the string table is the one before.  The string table did not change.

    Are the enumeration values from the string table cached?

    regards,
    Ama



  • On 02/08/2015 at 08:23, xxxxxxxx wrote:

    Have you recompiled your plugin after changing the c4d_symbols.h file?



  • On 02/08/2015 at 08:55, xxxxxxxx wrote:

    Originally posted by xxxxxxxx

    Have you recompiled your plugin after changing the c4d_symbols.h file?

    I have now.  I figured it out about an hour ago.  I was building windows and OS X plugins with different symbols files.  They would work independently but when I tried to put them together they obviously failed.

    One the DA book.

    thanks,
    Ama


Log in to reply