A little rant for the SDK changes..

On 08/10/2014 at 01:05, xxxxxxxx wrote:


I know the new naming conventions etc are already since R15 however until now I feared to port my code to these new conventions (simply because I have an epic amount of code in Effex) but now with R16 I thought I have to better do this now instead of going legacy. Anyway, I really am fine with most of the changes. You can spot all the definitions etc. easily BUT there is one point I really must say this is absolute BS to put it mildly.

It's about the vector math changes:

a^b is now a*b and a*b is now Dot(a,b)..

Com'on, was this really necessary? I mean, do you know how much code I have in my project? And do you know how hard it is to do this change? Going from dot product to a component-wise multiplication? The most intriguing thing is that I really have to go through ALL my code to spot all vector * vector expressions. I cannot search for it, I do NOT get an compiler error either if I miss one (cause I DO generate vectors out of the dot product in a lot of places and without explicit constructors there was no error) and still it will inevitably mess up my code! (which this rant is all about)

Who had this marvelous idea and what really drives me to know, WHAT in the world is the big advantage of getting rid of the ^operator? If it would have taken another purpose I may have even seen the logic behind it but making it completely disappear and therefore break any previous code (instead of just keeping it!!!)...I really don't get it (and please don't tell me it's just about precedence). Sorry, but this really pisses me off as it will cost me DAYS  to fix this (with a marvelously high chance of missing). :angry:

End of rant..:frowning2:

On 08/10/2014 at 21:58, xxxxxxxx wrote:

i guess you could just remove the overridden functions from the sdk for some tests and so you'd get compiler errors for all your code where you use it, couldn't you?

On 09/10/2014 at 01:59, xxxxxxxx wrote:

Hi affa and thanks. You are absolutely right! Let me get you a beer! :)
Warum bin ich da nicht selber drauf gekommen? :dizzy_face:

On 12/10/2014 at 11:01, xxxxxxxx wrote:

For all you English speaking folks:
In the end Katachi's asking himself, why he did not have the idea himself.

Katachi, I understand your anger. I myself have not been to pleased, by working through my entire code.
Nevertheless I have to ask for a bit of mildness.
I don't know either, what lead to the actual decision, but I'm sure there was a good reason. Although I could certainly ask the responsible developer, I'd rather not. After all I prefer them doing, what they do best.
I'm sure there are hundreds of design decisions, one could argue about. But as I have come to know, the developers of C4D, they don't take such decisions lightly. In fact, they try not to break the API as good as they can. It is the number one rule, guiding the development as far as the SDK is concerned. In fact, many places in the SDK with a strange notion, do have this only, because change would break existing code.

On 13/10/2014 at 05:46, xxxxxxxx wrote:

Hi Andreas,

thanks first of all for answering at all! It was more of a rethorical rant getting some steam of my chest. I know of course that it's hard to make code design changes that are not in everybody's favor. But it's still frustrating to change a lot of code so drastically (with such a high potential for introducing errors...though the idea of affa helped indeed) and I didn't know any other place where I could pose my opinion about it. ;)

On 13/10/2014 at 05:54, xxxxxxxx wrote:

You are welcome and I understand your position.
In case your steam pressure gets too high, you are always invited to email me.

On 13/10/2014 at 12:34, xxxxxxxx wrote:

Thanks Andreas.