I noticed your changelog has an item about KCM > MagmaMod conversion. I’m experiencing an issue around that item in 2.0.1.46319. I found the system preferences setting to avoid the issue in the meantime.
I’m not 100% of the exact genesis of this scene, I can’t recall if it was last saved in MX 2.0.0 or 1.6. I have a few different KCM and KrakDel modifiers, some enabled, some disabled, on a PRT loader and when I open the scene I’m getting this error:
[code]-- Error occurred in i loop; filename: C:\Program Files (x86)\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlowManager.ms; position: 53358; line: 1232
– Frame:
– i: 5
– oldModifier: KrakatoaChannelsModifier:KCM_Color
– called in n loop; filename: C:\Program Files (x86)\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlowManager.ms; position: 53754; line: 1241
– Frame:
– n: $PRT1_FullSource
– called in m loop; filename: C:\Program Files (x86)\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlowManager.ms; position: 53773; line: 1242
– Frame:
– theNewMod: MagmaModifier:Magma PRT Op
– m: KrakatoaChannelsModifier:KCM_Color
– theNodes: #($PRT1_FullSource)
– called in convertOldScenesToNewMagma(); filename: C:\Program Files (x86)\Thinkbox\Krakatoa\Scripts\Krakatoa_MagmaFlowManager.ms; position: 53791; line: 1243
– Frame:
– theOldMagmaModifiers: #(KrakatoaChannelsModifier:KCM_TextureCoord, KrakatoaChannelsModifier:KCM_Color, KrakatoaChannelsModifier:KCM_Emission, KrakatoaChannelsModifier:KCM_Selection, KrakatoaChannelsModifier:KCM_Color, KrakatoaChannelsModifier:KCM_Emission)
– oldGlobalHolders: #()
– rem: undefined
– called in anonymous codeblock
– Frame:
MAXScript Callback script Exception:
– Runtime error: Modifier is not appropriate: MagmaModifier:Magma PRT Op <<[/code]
After the error appears my the modifier tab on my command panel no longer works, and I have to close Max and reopen to get it functioning again. Once I disabled the ‘old files loading’ setting in the system preferences rollout, I can open the scene successfully.
This is a slightly different error. The original error we fixed was an Unknown System Exception due to a bug in MAXScript where the insertion of a modifier failed.
In your case though, Max says the modifier is not valid, which means the stack evaluates to something that does not accept it.
Any chance to get that file so we can debug the issue?
I’m assuming just the max file without the PRTs will work?Can I email it to you offboard (what address?) I’ll see about pairing it down to only the items that cause the error.
All I need is the PRT Loader with the modifiers that cause the issue. I can always put some stand-in PRT files in the loader if needed.
You can send it to bobo AT thinkboxsoftware DOT com
Here is a possible FIX for the problem.
I rewrote the code once again and tested with both known bad scenes I have been sent so far.
The bug is still the same and is in MAXScript when multiple Derived Objects (aka Modified Objects in TrackView) host the modifiers of the stack.
Under some circumstances, Max can get confused and fail to add a modifier via MAXScript to certain levels of the stack.
It turned out that if an error is trapped and not handled, and then another attempt is made to go on in a new iteration, the error would go away.
So now the conversion process will skip any KCMs it fails to convert and then perform another iteration, fixing the remainder, and again until no KCMs are left or 100 attempts have been performed.
If after 100 attempts there are still unconverted KCMs, they will be left As Is without conversion, since a working 1.6 KCM is better than a broken scene…
Please let me know if it fixes the problem and we will roll it out ASAP in a new installer.
Well it’s not the most thorough testing, but I tried loading the files a couple different times and didn’t get the error on any of them, so looks good from here so far.