AWS Thinkbox Discussion Forums

Magma Flow window won't display properly in Windows 10

Thanks for the reply Evan. You were testing in Windows 10, correct? It may be hard to fully demonstrate the problem with screenshots but here I go:

If I create an Output node and it’s docked on the right it won’t show up in the view

If the node Depot display is set to the bottom it won’t show up, even if I try hovering over it.

The worst problem of all is that the node properties panel never shows up on the right, so I can’t edit any of the nodes’ properties - making Magma flow unusable.

The only other thing I can add is that I checked for and installed any available Windows updates and I restarted my PC but the issue was still there.

Hi Jim,

This is a quick and dirty hack, but I hope it might help you in the mean time while we are figuring out what is going on with the 4K resolution.

*You will need Administrator privileges to edit the content of the \Scripts folder of the Krakatoa installation.
*Locate the file called “Krakatoa_MagmaFlow.ms”
*Set the file’s Properties>Security to allow full access to your User account.
*Make a backup copy to be safe.
*Open the file “Krakatoa_MagmaFlow.ms” in the MAXScript editor.
*Search for the line "on MagmaFlowEditor_Rollout resized val do " - should be around line 12314…
*Replace the whole event handler with the following code

[code] on MagmaFlowEditor_Rollout resized val do
(
hc.width = val.x-182
hc.height = val.y-18

		prg_bar.pos = [val.x-178,val.y-31]
		
		btn_RecorderToStart.pos = [val.x-178,val.y-56]
		btn_RecorderBackOneStep.pos = [val.x-178+25,val.y-56]
		chk_RecorderPlay.pos = [val.x-178+25*2,val.y-56]
		btn_RecorderForwardOneStep.pos = [val.x-178+25*3,val.y-56]
		btn_RecorderToEnd.pos = [val.x-178+25*4,val.y-56]
		btn_RecorderClose.pos = [val.x-178+25*5,val.y-56]

		leftCommandPanel = true
		if leftCommandPanel then
		(
			hc.pos = [180,0]
			NodePropsSR.pos = [0,21]
			NodePropsSR.height = val.y-20-100
			bmp_navigator.pos = [0,val.y-100]
			
			chk_autoUpdateModifier.pos=[0,1] 
			btn_updateModifier.pos = [62,1] 			
			
			btn_Undo.pos = [val.x-78,val.y-18]
			btn_Redo.pos = [val.x-39,val.y-18]		

			edt_log.width = val.x-98
			prg_swatch.pos = [179,val.y-18]
			prg_errorswatch.pos = [189,val.y-18]
			edt_log.pos = [200,val.y-18]
		)
		else
		(
			hc.pos = [0,0]
			NodePropsSR.pos = [val.x-180,21]
			NodePropsSR.height = val.y-20-100 
			bmp_navigator.pos = [val.x-180,val.y-100]
			
			chk_autoUpdateModifier.pos=[val.x-180,1] 
			btn_updateModifier.pos = [val.x-118,1] 	

			btn_Undo.pos = [val.x-78-180,val.y-18]
			btn_Redo.pos = [val.x-39-180,val.y-18]			

			edt_log.width = val.x-176-80-22
			prg_swatch.pos = [-1,val.y-18]
			prg_errorswatch.pos = [9,val.y-18]
			edt_log.pos = [20,val.y-18]
		)


		drawDepot init:false	lock:true
		if val.x > 100 and val.y > 100 do 
			setIniSetting (theIniFileLocation +"MagmaFlowEditor_Preferences.ini") "Editor" "Size" (val as string)
		--updateMacroRecorderControls()
		MagmaFlowEditor_Rollout.autoReorderFlow createUndo:false
		--if AutoZoomExtents do MagmaFlowEditor_Rollout.zoomExtents createUndo:false		
		if val.y > 50 do 
			MagmaFlowEditor_Functions.setEditorProperty magma "DialogSize" val
		
		updateNavigator fullUpdate:false
	)		

[/code]

*Save the modified file.
*Open the Magma Editor

Since we added the variable leftCommandPanel and set it to true, the node properties should now appear on the left side of the window. With floating output nodes and the command panel on the left, you might be able to do some Magma editing until we figure out the issue.

Changing the variable to false will return the command panel to the right side. We could expose it to the UI eventually, but for now it should be enough of a hack to get you going…

Hi Bobo, thanks a lot for the advice. Unfortunately this didn’t fix it for me. I made sure to restart 3DS Max and I double checked the script to make sure it’s using the new modified one but still no luck.

Also, I’m not sure if this has something to do with the issue but in my Krakatoa MX folder I see folders (that contain the KrakatoaStartup script) for 3DS Max 2012, 2013, 2015 and 2017 - but nothing for 2016, which is what I’m using. Could that mean anything?

Restarting 3ds Max is not necessary - each time you press the Open Magma Editor button of a Magma modifier, the script Krakatoa_MagmaFlow.ms is being run anew from the Scripts folder of your Krakatoa installation, which should be by default under
“C:\Program Files\Thinkbox\Krakatoa MX\Scripts\Krakatoa_MagmaFlow.ms”

3ds Max 2014 uses the plugin of 2013, and 2016 uses the plugin of 2015, because they are plugin-level compatible.
We only make new folders for versions that break the compatibility due to SDK and compiler changes. So that should not be related.

The change I made to the script tells the node control to appear 180 pixels to the right of the left border of the window. I wonder what values are circulating through the UI in your case, if this change does not show the command panel at the left side of the UI, and the nodes next to it… From the screenshots you posted it appears that the width and height of the node control are significantly higher than they should be. Can you post another screenshot with the modified script?

Yes, that’s correct.

Hi Bobo and Evan, Thanks again for your help. First I’ll post a few screen shots to confirm with you that I’m editing the correct Maxscript file and that I pasted your edited code correctly:

Also, here is how the Magma flow view looks for me now. I had created an output node and it is still placed out of view by default. The node properties window still doesn’t show up on the right either.

No, you have not edited the MAXScript file correctly.

In my post, you should click the SELECT ALL link to select ALL the text (it is MUCH longer than what shows up in the preview!!! - scroll it to see all code.)
Then you must replace the WHOLE event handler, from the opening bracket to the closing one on line 12346.
Save. Open Magma. See if you will get a command panel on the left.

Hi Bobo, sorry about the mix up with the script. I did it correctly this time and now it works!

The command panels shows up on the left now. The node depot still won’t display on the bottom but it works on the left. Output nodes still disappear from view unless undocked.

Thanks again for your help on this!! Please keep me posted if you find a better solution.

Basically I suspect that the size of the Node Control exceeds 1.5 to 2x the size of the actual Magma window - the value returned as the size of the window in pixels is probably off by the scaling factor of the OS.

So the next thing I will try is to give you a scaling factor that resizes the actual node control to a user-defined fraction. For example, if the MAXScript rollout has a width of 800 pixels, but the Node Control believes it must be 1600 pixels, using a factor of 0.5 would scale the Node Control to fit correctly. (This should be done at the C++ level once we are done fixing this, but with a MAXScript hack we can explore what the values really are, and provide a temporary work around).

So, in the same place of the script, modify the first few lines of the event handler to look like this:

		on MagmaFlowEditor_Rollout resized val do 
		(
			local theFactor = 0.5
			hc.width = (val.x*theFactor)-182
			hc.height = (val.y*theFactor)-18

This will scale the node control to half of its size. If it gets too small, try changing theFactor to 0.75 and see what number will make it fit so that both the Nodes Depot and the Outputs dock correctly at the bottom and the right side…

Thanks Bobo! The script helped to get the depot to display on the bottom. The only issue now is some weird window scaling and the depot rollouts go sideways now:

So the interface looks a little funny now but at least it’s functional. Thanks again and please keep me posted on what else you find.

You should definitely try 0.66 and see if it fits the UI better. It would be equivalent to dividing by 1.5.
If it is still too small, try 0.75.

As for the depot, you just selected the wrong mode. The default mode is “Depot At Bottom - Rollup”, not “Depot At Bottom” (which expands the nodes horizontally, as you discovered).

Thanks again for you help Bobo!! A value of.68 made the UI fit better and you’re right, I had the wrong depot rollout mode selected.

Hi Jim,

We have a possible C++ fix for your problem.
To test it, you will have to

  • Download the attached zip file
    MaxKrakatoa_MagmaHDPI_Fix01.zip (4.74 MB)
  • Rename the original MaxKrakatoa.dlr file to MaxKrakatoa.old in your C:\Program Files\Thinkbox\Krakatoa MX\3dsMax2015 folder (might need to change permissions to modify the file)
  • Copy the MaxKrakatoa.dlr file from the zip into the folder.
  • Edit the MAXScript to set theFactor = 1.0 so it does not apply any scaling at MAXScript level.
  • Launch 3ds Max and see if the Magma editor looks ok (you might want to switch the command panel to the right side again, too).

Please let us know if this changes anything… If it does not work, close Max, delete the new DLR file and rename the OLD to DLR again.

Hi Bobo, thanks again… I followed your instructions and everything looks good. The only thing is that I tried changing the script to put the command panel on the right but it didn’t work. Please see the screen grab. I highlighted the area of the script that I changed. Please let me know if I missed something. This is a minor issue though since otherwise it seems to work fine now.

You really missed something :slight_smile:
You should have changed the leftCommandPanel variable to False. Now you have a variable rightCommandPanel which is set to True, but then it still puts the command panel on the left side. Change its value to False and it should work.

Thanks Bobo, it figures I missed something - I know very little about Maxscript! I fixed those lines and now it works fine. Thanks again!!

Privacy | Site terms | Cookie preferences