Page 2 of 3 FirstFirst 123 LastLast
Results 51 to 100 of 105

fneeptools for DoW - 0.4 released (Post 1 or 72)

  1. #51
    Member Danimator's Avatar
    Join Date
    Dec 2004
    Location
    Lake District. UK
    The new import script worked ok for me as far as importing the model, but the model was still unsmoothed. This was in max 6 and I've never had cat installed on this machine.

    I did have Cat installed on my other pc with max 8 but uninstalled it as it broke other scripts.

    EDIT: Having had a quick look at the code, is there supposed to be a spinner to set a value for the smoothing under the whm import button?
    Last edited by Danimator; 9th Aug 07 at 4:15 PM.

  2. #52

  3. #53
    just a quick question for fneep i was wondering if you can take a max file and save it as a 3ds cause i just want to fiddle around look at the animations learn from some great models like havocs crusader Here: http://forums.relicnews.com/showthre...ighlight=havoc

    if you can please pm me the 3ds file of it and maybe some other 3ds models of the DC space marines like the FC librarian and chaplain and assault marines.

    thank you.
    Show me a fortress and I'll show you a ruin+++ Captain Eddan Bourne,
    No. 2 Assault Company, Silver Skulls +++

    Fear me, for I am your apocalypse



  4. #54
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    haloelite52:
    I'm too good to you. For other models, use the WHM converter by Mudflap.

  5. #55
    thats ture fneep thats ture fneep good luck on the update santos tools.

  6. #56
    Retired modder compiler's Avatar
    Join Date
    Dec 2004
    Location
    Nougat land
    I installed CAT and got the same result.

    Just a precision :
    I have Max installed in drive C:, while Dawn of war is on drive D:
    Could it be what causes the importing error ?


    Scary :
    I decided to go back to the Santos Tools of old, but they didn't work anymore !
    I got this message :
    -- Cannot assign to read-only variable: BoneData
    And this line is outlined :
    struct bonedata (name, level, pos_x, pos_y, pos_z, rot_x, rot_y, rot_z, rot_w) -- Structure To Hold Bone Data (4, X, 4, 28)
    ---< READ BONES >---
    Last edited by compiler; 11th Aug 07 at 10:58 AM.


  7. #57
    maybe deleting the santos tools that are installed are then try it again?? If not then I don't know

  8. #58
    Retired modder compiler's Avatar
    Join Date
    Dec 2004
    Location
    Nougat land
    Yes, of course, I had done that. Sorry, I should have specified it.


    OK, fixed it.
    I remembered that Bonedata is a variable used by Max.
    So I changed Bonedata to Bonesdata and it worked.
    Last edited by compiler; 11th Aug 07 at 10:57 AM.

  9. #59
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    Woopeee! It gave me the error! You may think that that is actually bad but no. You lot have no idea how difficult it is to debug something when others get the error and not the person doing the debugging. Check back at this post soon...

  10. #60
    Retired modder compiler's Avatar
    Join Date
    Dec 2004
    Location
    Nougat land
    Great news !!


    ************************

    While we're there...
    I have updated Relic's DoW Property browser with Santos' "shadow volumes" tag.
    No big work, but I find it useful for me, so may be someone else is interested.

    Custom Tools-DoWPropertiesBrowser.mcr in Max/UI/macroscripts folder :

    Code:
    -- ///////////////////////////////////////////////////////////////////////////////////////////////////
    --
    -- Custom Tools-DoWPropertiesBrowser
    --
    -- Last Update: 08/02/2005
    -- Author: Claudio Alvaro (calvaro@relic.com)
    -- Description: Displays DoW user defined properties and allows user to toggle them on or off.
    --				Depressing the column header toggles the property in question for all selected nodes.
    --
    --
    -- Update: 25/01/2006
    -- Author: Brother Santos (brother_santos@poczta.fm)
    -- Description: ShadowVolume property added
    --
    --
    -- Update 12/08/07
    -- Author: Compiler (spacedragons@free.fr)
    -- Description : merged Santos "Shadow Volumes" property with the DC 1.2 ModTools' property browser
    -- ////////////////////////////////////////////////////////////////////////////////////////////////////
    macroScript DoWPropertiesBrowser
    category:"Custom Tools"
    toolTip:"DoW Properties Browser"
    icon:#("Custom_Tools",12)
    (
    global lv_rollout
    
    rollout lv_rollout "DoW Properties Browser"
    	(
    	-- ListView headers
    	local layout_def = #(#("Object Name", 180),#("Object Class",90),#("DoWCoords",150,""),#("Max Bone",60),#("Stale",40,"Stale"),#("Invisible",52,"ForceInvisible"),#("IgnoreShaders",83,"IgnoreShaders"),#("ForceSkinning",80,"ForceSkinning"),#("NoChild",53,"No_Child_Selection"),#("Remove",53,"Remove"),#("ShadowVolume",90,"ShadowVolume"))
    	
    	---------------------------------------------------------------------------
    	-- Initialise listview.
    	fn initListView lv =
    		(
    		lv.gridLines = true
    		lv.View = #lvwReport
    		lv.multiselect = true
    		lv.sorted = true
    		lv.sortOrder = #lvwAscending
    		lv.labelEdit = #lvwManual
    		lv.appearance = #ccFlat
    		lv.borderStyle = #ccFixedSingle
    		lv.fullRowSelect = true
    		lv.backColor = color 177 240 239
    		--lv.picture = loadPicture "c:/3dsmax7/ui/icons/Custom_Tools_Relic_Logo.bmp"
    		--lv.pictureAlignment = #lvwTile
    		
    		for i in layout_def do
    			(
    			column = lv.columnHeaders.add()
    			column.text = i[1]
    			)
    		LV_FIRST = 0x1000
     		LV_SETCOLUMNWIDTH = (LV_FIRST + 30) 
    
    		for i = 0 to layout_def.count-1 do 
      			windows.sendMessage lv.hwnd LV_SETCOLUMNWIDTH i layout_def[1+i][2]
    		)
    	---------------------------------------------------------------------------
    	-- Converts position to DoW Coords
    	fn convertPos pos =
    		(
    		cpos = [-pos.x,pos.z,-pos.y]
    		return cpos
    		)
    		
    	---------------------------------------------------------------------------	
    	-- Rounds a value to n decimal places
    	fn round_to val n = 
    		(
        	local mult = 10.0 ^ n
    		(floor ((val * mult) + 0.5)) / mult
    		)
    	---------------------------------------------------------------------------
    	-- Text info for header
    	fn getTxtInfo =
    		(
    		count = 0
    		bip_count = 0
    		removed = 0
    		
    		for i in selection do
    			if i.boneEnable == true then 
    				(
    				count += 1
    				if ((getUserProp i "Remove") == "Yes") do 
    					removed += 1
    				)
    			else if classOf i == Biped_Object do
    				( 
    				if ((findstring i.name "Footsteps") == undefined) do 
    					(
    					count += 1
    					bip_count += 1
    					if ((getUserProp i "Remove") == "Yes") do
    						removed += 1
    					)
    				)
    		
    		("< " + (count as string) + " total bones >< " + ((count - removed) as string) + " active bones (export) ><" + (bip_count as string) + " biped objects >< " + (count - bip_count) as string + " bone objects >< " + (removed as string) + " with remove flag >")
    		)
    		
    	
    	---------------------------------------------------------------------------	
    	-- Checks for the existance of a user defined property.
    	fn getDowProp obj propName =
    		(
    		if (val = getUserProp obj propName) != undefined do
    			if (classOf val == String and val as name == #yes) then return "Yes"
    			else return (val as string)
    		return "--"
    		)
    	---------------------------------------------------------------------------
    	-- Removes a user defined property when the user toggles the corresponding cell in the listview.
    	fn removeUserProp obj testStr =
    		(
    		s = (getUserPropBuffer obj) as stringStream
    		outStr = "" as stringStream
    		seek s 0
    		while (not (eof s)) do
    			(
    			line = readline s
    			
    			fstr = filterString line "= "
    			if fstr.count > 2 then
    				(
    				messageBox (obj.name + " has inproper user defined property format. User defined property stripped, please redefine.") title:"DoW Properties Error" beep:false
    				format "\r\n" to:outStr
    				)
    			else 
    				if fstr[1] != undefined do
    					if (findString fstr[1] testStr) == undefined do
    						format "%\r\n" line to:outStr
    			)
    		
    		setUserPropBuffer obj (outStr as string)
    		)
    	---------------------------------------------------------------------------
    	-- Adds a user defined property when the user toggles the corresponding cell in the listview.
    	fn addUserProp obj testStr value:"Yes" =
    		(
    		s = (getUserPropBuffer obj) as stringStream
    		outStr = "" as stringStream
    		seek s 0
    		while (not (eof s)) do
    			(
    			line = readline s
    			
    			fstr = filterString line "= "
    			if fstr.count > 2 then
    				(
    				messageBox (obj.name + " has inproper user defined property format. User defined property stripped, please redefine.") title:"DoW Properties Error" beep:false
    				format "\r\n" to:outStr
    				)
    			else
    				if fstr[1] != undefined do
    					format "%\r\n" line to:outStr
    			)
    		setUserPropBuffer obj (outStr as string)
    		setUserProp obj testStr value	
    		)
    	---------------------------------------------------------------------------
    	-- Toggles bone state, and also sets other properties to default.
    	fn toggleBoneProp obj =
    		(
    		if (obj.boneEnable) then 
    			obj.boneEnable = false
    		else
    			(
    			obj.boneEnable = true
    			obj.boneFreezeLength = true
    			obj.boneAutoAlign = false
    			obj.boneScaleType = #none
    			)
    		)
    	---------------------------------------------------------------------------
    	-- Toggles user properties by calling either addUserProp or removeUserProp functions.
    	fn toggleDowProp li prop =
    		(
    		obj = getNodeByName (li.text)
    			
    		if obj != undefined do
    			(		
    			if li.listSubItems[prop].text == "--" then
    				(
    				case prop of
    					(
    					3 : (li.listSubItems[prop].text = "Yes" ;
    						toggleBoneProp obj)
    					4 : (li.listSubItems[prop].text = "Yes" ;
    						addUserProp obj "Stale")
    					5 : (li.listSubItems[prop].text = "Yes" ;
    						addUserProp obj "ForceInvisible")
    					6 : (li.listSubItems[prop].text = "Yes" ;
    						addUserProp obj "IgnoreShaders")
    					7 : (li.listSubItems[prop].text = "Yes" ;
    						addUserProp obj "ForceSkinning")
    					8 : (li.listSubItems[prop].text = "Yes" ;
    						addUserProp obj "No_Child_Selection")
    					9 : (li.listSubItems[prop].text = "Yes" ;
    						addUserProp obj "Remove")
    					10 : (li.listSubItems[prop].text = "No" ;
    						addUserProp obj "ShadowVolume" value:"No")
    	
    					default: ()
    					)
    				)
    			else 
    				(
    				case prop of
    					(
    					3 : (li.listSubItems[prop].text = "--" ;
    						toggleBoneProp obj)
    					4 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "Stale")
    					5 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "ForceInvisible")
    					6 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "IgnoreShaders")
    					7 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "ForceSkinning")
    					8 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "No_Child_Selection")
    					9 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "Remove")
    					10 : (li.listSubItems[prop].text = "--" ;
    						removeUserProp obj "ShadowVolume")
    
    					default: ()
    					)
    				)
    			)
    		)
    	---------------------------------------------------------------------------	
    	-- Fills listview with current selection.
    	fn populateListView lv =
    		(
    		lv.listItems.clear()
    		for i in selection do
    			(
    			local classColor = (color 0 0 0)
    			-- Add Item to list
    			li = lv.listItems.add()
    			li.text = i.name
    			li.toolTipText = i.name
    			
    			-- Decide colour of item
    			if superClassOf i == Helper do classColor = (color 0 128 0)
    			if classOf i == BoneGeometry do classColor = (color 255 0 0)
    			if classOf i == Biped_Object do classColor = (color 0 0 255)
    			-- Set colour of item
    			li.foreColor = classColor
    			-- Add first property (object class)
    			sub_li = li.listSubItems.add()
    			sub_li.foreColor = classColor
    			sub_li.text = ((classOf i) as string)
    			sub_li.toolTipText = i.name + " is a " + (classOf i as string)
    			
    			-- Add second property (DOW Coords)
    			sub_li = li.listSubItems.add()
    			sub_li.toolTipText = "DoW Coords of " + i.name + " at " + (currentTime) as string
    			sub_li.foreColor = classColor
    			-- if the node is a biped object then...
    			if classOf i == Biped_Object then
    				newPos =  convertPos (biped.getTransform i #pos)
    			else if ((classOf i == Dummy) and ((findstring i.name "Nub") != undefined) and (classOf i.parent == Biped_Object)) then
    				newPos =  convertPos (biped.getTransform i #pos)
    			else newPos = convertPos i.pos
    			-- display the newcoords and round off to 3 decimal places
    			sub_li.text = "X:" + (round_to (newPos.x) 3) as string + "  Y:" + (round_to (newPos.y) 3) as string + "  Z:" + (round_to (newPos.z) 3) as string
    			
    			-- Add third property (Max Bone)
    			sub_li = li.listSubItems.add()
    			sub_li.toolTipText = "Bone property of " + i.name
    			sub_li.foreColor = classColor
    			if i.boneEnable then
    				sub_li.text = "Yes"
    			else sub_li.text = "--"
    			
    			-- Add remaining DoW Properties				
    			for j = 5 to layout_def.count do
    				(
    				sub_li = li.listSubItems.add()
    				sub_li.foreColor = classColor
    				sub_li.text = try (getDowProp i layout_def[j][3]) catch ("--")
    				sub_li.toolTipText = layout_def[j][3] + " property of " + i.name
    				)
    			)
    		)
    		
    	---------------------------------------------------------------------------	
    	-- Save user defined properties for selected nodes to text file.
    	fn saveDowProp nodes =
    		(
    		local fStream, fPath
    		
    		if (fPath = getSaveFileName filename:"DoWProperties.txt" caption:"Save DoWProperties") != undefined do
    			(
    			if (fStream = openfile fPath mode:"w") != undefined do
    				(
    				flush fStream
    				seek fStream 0
    				for i in nodes do
    					(
    					print i.name to:fStream
    					print (getUserPropBuffer i) to:fStream
    					)
    				close fStream
    				)
    			)
    		)
    
    	---------------------------------------------------------------------------	
    	-- Load user defined properties from text file.
    	fn loadDowProp =
    		(
    		local fStream, fPath
    		
    		if (fPath = getOpenFileName filename:"DoWProperties.txt" caption:"Load DoWProperties") != undefined do
    			(
    			if (fStream = openFile fPath mode:"r") != undefined do
    				(
    				flush fStream
    				seek fStream 0
    				
    				while (not (eof fStream)) do
    					(
    					if (node = getNodeByName(readValue fStream)) != undefined then
    						(
    						format "%\n" node -- output to listener
    						
    						local str = "" as stringStream
    						local s = (readValue fStream) as stringStream
    						seek s 0
    						while (not (eof s)) do
    							(
    							line = readLine s
    							format "%\r\n" line to:str
    							format "\t-%\n" line -- output to listener
    							)
    						
    						setUserPropBuffer node (str as string)
    						)
    					else readValue fStream
    					)
    				close fStream
    				)
    			)
    		)
    	---------------------------------------------------------------------------		
    
    	-- Button definitions and activeX controls.
    	button _btnSave "Save" width:60 height:21 pos:[2,4]
    	button _btnLoad "Load" width:60 height:21 pos:[66,4]
    	edittext _txtInfo readOnly:true height:21 pos:[130,4]
    	
    	activeXControl lv "MSComctlLib.ListViewCtrl.2" pos:[0,28]	
    	
    	on _btnSave pressed do
    		(
    		saveDowProp (selection as array)
    		)
    	
    	on _btnLoad pressed do
    		(
    		loadDowProp()
    		populateListView lv
    		_txtInfo.text = getTxtInfo()
    		)
    	
    	
    	on lv mouseDown button shift x y do
    		(
    		hit = listView.hitTest lv.hWnd [x,y]
    		if hit[1] != 0 and hit[2] >= 3 do
    			toggleDowProp lv.listItems[hit[1]] hit[2]
    		_txtInfo.text = getTxtInfo()
    		)
    	
    	on lv columnClick column do
    		(
    		if column.index >= 4 do
    			if selection.count > 0 do
    				for i = 1 to selection.count do
    					toggleDowProp lv.listItems[i] (column.index-1)
    		_txtInfo.text = getTxtInfo()
    		)
    	
    	on lv_rollout open do
    		(
    		lv.size = [(lv_rollout.width), (lv_rollout.height-28)]
    		
    		print "Removed instances of Particle View and Bone Geometry properties set."
    		
    		-- setting all bone geometry properties
    		for i in geometry do
    			(
    			i.boneFreezeLength = true
    			i.boneAutoAlign = false
    			i.boneScaleType = #none
    			)
    		-- remove any particle view instances in scene
    		for i in objects do 
    			if classOf i == Particle_View do 
    				delete i
    				
    		_txtInfo.text = getTxtInfo()	
    		initListView lv
    		populateListView lv
    		)
    	
    	on lv_rollout resized pos do
    		(
    		lv.size = [(lv_rollout.width), (lv_rollout.height-28)]
    		)
    		
    	on lv_rollout close do 
    		(
    		callbacks.removeScripts #selectionSetChanged id:#SceneListView
    		callbacks.removeScripts #selectionSetChanged id:#TxtInfo
    		unRegisterTimeCallback tcb
    		)
    	
    	) -- end rollout
    	
    try(destroyDialog lv_rollout)catch()
    createDialog lv_rollout width:842 height:410 style:#(#style_resizing, #style_titlebar, #style_sysmenu, #style_minimizebox, #style_maximizebox)
    
    -- Callback will repopulate lisview when selection changes.
    callbacks.addScript #selectionSetChanged "lv_rollout.populateListView lv_rollout.lv" id:#SceneListView
    callbacks.addScript #selectionSetChanged "lv_rollout._txtInfo.text = lv_rollout.getTxtInfo()" id:#TxtInfo
    
    fn tcb = lv_rollout.populateListView lv_rollout.lv
    
    registerTimeCallback tcb
    ) -- end macroscript
    Last edited by compiler; 12th Sep 07 at 5:55 AM.

  11. #61
    Member Danimator's Avatar
    Join Date
    Dec 2004
    Location
    Lake District. UK
    I got the script to work today (although I never made any change except look at the script in notepad).

    I now get the same error as Compiler so I thought I would comment out the TCB code and just make use of the autosmooth code but I still got an error:

    MAXScript Rollout Handler Exception: --unable to covert: undefined to type: Float

    "mod_smooth = Smooth autosmooth:true threshold:Smoothlevel" was highlighted in the script.

  12. #62
    Banned edvin76's Avatar
    Join Date
    Nov 2006
    Location
    @0,0
    please guys, where is the link to download WHM Import by Brother Santos 0.601 (fneep) ???
    i know this thread:
    http://forums.relicnews.com/showthread.php?t=153286 says post 45, but there is no download link there, only changelog and some code...??? please help!!!

    or do I just have to make a new file with notepad and paste that code into it and save it as WHImport.ms?

  13. #63
    Member Danimator's Avatar
    Join Date
    Dec 2004
    Location
    Lake District. UK
    Just paste the code in as you say. But it might be worth waiting for the next version of the script (fingers crossed there will be one) as this one isn't working for most of us.

  14. #64
    Banned edvin76's Avatar
    Join Date
    Nov 2006
    Location
    @0,0
    it does work for me like a charm, whats wrong with yours?

  15. #65
    Member Danimator's Avatar
    Join Date
    Dec 2004
    Location
    Lake District. UK
    See posts above...is yours adding smoothing groups ok? which version of max are you running as I tried it out in max 6. I'll try max 8 later and see if it makes a difference.

  16. #66
    Banned edvin76's Avatar
    Join Date
    Nov 2006
    Location
    @0,0
    no sorry, no smoothing groups in mine either...

  17. #67
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    Make sure you are following the same steps as me.

  18. #68
    Banned edvin76's Avatar
    Join Date
    Nov 2006
    Location
    @0,0
    HAHAHAHAAAAAA!!!!!!!!!! hmm, it works now!!!!

    MAKE SURE TO
    -delete the old whmimport, renaming isnt enough!!!
    (this will enable the new 6.02 version to load, so you will be able to see the "Smooth Angle:" spinner on the WHMImport panel.)
    -As Danimator advised it, comment out the TCB code!!! if you dont know what this whole thing about, you probably dont need it, (i dont really know either ) confine yourself to the models with working bones or fix them manually, or just wait until a model list will be implemented to the code, so

    1st find:
    Code:
    			for Bad in TCBBlacklist do
    			(
    				if (getFilenameFile filename) == Bad.ModelName then
    				(
    					if (finditem Bad.BoneNames new_bone.name) != 0 then
    					(
    						new_bone.rotation.controller = tcb_rotation()
    					)
    				)
    			)
    Then put these "--" into:
    Code:
    			--for Bad in TCBBlacklist do
    			--(
    			--	if (getFilenameFile filename) == Bad.ModelName then
    			--	(
    			--		if (finditem Bad.BoneNames new_bone.name) != 0 then
    			--		(
    			--			new_bone.rotation.controller = tcb_rotation()
    			--		)
    			--	)
    			--)
    (this will get rid of the
    Code:
    "-- unable to convert : undefined to type: FileName"
    and it underlines this line in the script :
    if (getFilenameFile filename) == Bad.ModelName
    problem...)


    ALSO BEEN ALL NIGHT EXPERIMENTING AND FINALLY I FOUND THE SOLUTION TO THE
    MAXScript Rollout Handler Exception: --unable to covert: undefined to type: Float
    "mod_smooth = Smooth autosmooth:true threshold:Smoothlevel"
    PROBLEM!!!!

    1st find this b*tch:
    Code:
    	
    	-- Create Smooth Modifier
    	mod_smooth = Smooth autosmooth:true threshold:Smoothlevel
    	addModifier new_mesh mod_smooth
    	collapseStack new_mesh
    2nd change 'threshold' to 'value' !!!
    Code:
    	
    	-- Create Smooth Modifier
    	mod_smooth = Smooth autosmooth:true value:Smoothlevel
    	addModifier new_mesh mod_smooth
    	collapseStack new_mesh
    huh, that was a real b*atch!!!

    or for the sake of simplicity here is a link to my version, be aware that is not a final version or a replacement to fneep or santos 's tools, this is only a temporary solution:
    Temporary Whm Import Script
    Make sure you delete or move any other version of WHMIimport.ms from the scripts/startup folder before you attempt to try this temporary solution,
    (renaming the older versions not enough), and as always back up everything before you delete or modify!



    And its smoothing beautifully!!!!
    fneep, you are such a blessing to help improving santos's tools, I just need 1 more button on the importer panel:

    -- "Set Save File Dir" --

    and then you could create a parent dir based on 'filename' for the "Animations" and the "Reference" folders before you create them!

    And I would say the Importer is perfect!

    on a second thought: in the case of the space_marine.whm the tool smooths the helmet and the shoulder pads for example, but it didnt smooth the torso, the banner rod and the weapons, not even the settings on 90... hmm? i dont know, maybe thats what that manual TCB code inserting something is about?
    Or at least dont collapse the stack, so we can see for the first glimpse on the panel what was finally smoothed and what wasnt.
    Last edited by edvin76; 1st Sep 07 at 9:37 PM.

  19. #69
    Banned edvin76's Avatar
    Join Date
    Nov 2006
    Location
    @0,0
    And also I thought for some reason, that your WHMImport tool should do the "Fix Skin" thing without pressing the ok button a zillion times, but it doesnt do this, so was this just a wishful thinking?

  20. #70
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    Yeah, that got to me too. That would be why I wrote my own skin fixer which does not use the load envelopes code (that requires user input for every skinned object in every animation). I don't think I have released it though...

  21. #71
    Retired modder compiler's Avatar
    Join Date
    Dec 2004
    Location
    Nougat land
    Edited post 60 to put a DoWpropertyBrrowser script that works better.

  22. #72
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    Yes, it has been a long time between drinks but version 0.4 of fneeptools has made it. It contains the Unify Scale tool (from here) and Pipeline Errorer (gives possible problems and solutions to export issues) (inspired by these mysterious errors).

    The Skin Fixer is broken atm (not beyond repair but it will be a heavy piece of coding) so it will appear but not right now. Plus, fneeptools just got a page.

    Download for 0.4
    Last edited by fneep; 12th Oct 07 at 1:28 AM.

  23. #73
    awesome work fneep, thanks once again for your great work!
    I guess day 1 DLC was too casual for EA, so let's start doing 8-month-early DLC! - Shuma
    Eagerly awaiting DoW3 with mod tools. You hear me Relic?!


  24. #74
    Member elfurreto's Avatar
    Join Date
    Jun 2006
    Location
    i live in /*CENSURED*/ Canada
    Ya, Great Job as Always Fneep,

    Ps: it's been a long time since i talked to you... & You have my best Regard,
    Pps : Great Web page by the way !!!

  25. #75
    divineauthority
    Guest
    The aim generator comes up with a problem when I try to use it.

    The highlighted line is:

    Spoiler



    Is there something I'm doing wrong?

  26. #76

  27. #77
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    Hit F11 when the error occurs and post the log that comes up.

  28. #78
    divineauthority
    Guest
    Here you go.

    error log thing.


  29. #79
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    I'm really not going to ask how you got his log...

    Looks like the script is not being evaluated by max properly. Open the script using the MAXScript->Open Script menu option. Find the [MaxDirectory]/Scripts/fneeptools/Aim_Generator.ms file and open it. Then hit ctrl-e in the new window that opens up. Do the same for [MaxDirectory]/Scripts/fneeptools/fneeplib.ms.

    Then try the tool again.

  30. #80
    *can confirm the above method works* Just used this to rectify some issues with my ares, all is well now! Thanks!!!

  31. #81
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    is there a tool that can select bones that have been animated/ or not?

    if not would it be possible to combine something that will allow you to select any bone that has been animated (im guessing it would be found by it having a keyed anim on it)

    and also set its properties to stale/ invisible/bone etc like on the dow script. it should also have the option to change them in the other files if possible.

    this is so you wont have to serch everyobject for it being animated or not and set its properties. especially when youve merge the anims from another object on the more complicated models.

    being able to find any and all animated bones in a heartbeat and also seting a property like that is helpfull :d

    maybe this pic could help if you dont understand what im on about:

    Tutorials_And_Helpful_Sites_Here <-link
    Want a 3d model commissioned? I may do so. Pm me!
    http://steamcommunity.com/groups/dow40k2-woa Join up for updates and view other members.

  32. #82
    Ooh Yeesss!!! Thats a Great Idea!!! +1 Support!

  33. #83
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    So you want the 'Find Animated Bones' button to find all the bones with animation in that file or from the whole model setup? And 'Select All Bones' to select all bones or just animated bones?

  34. #84
    Senior Member horusheretic's Avatar
    Join Date
    May 2006
    Location
    United Kingdom
    select all bones would be to select every bone (even animated) and also ones defined as bones by the script.

    find animated bones will find the ones that have been animated

    they will search the file itself and if possible, there should be an option to search all the other files to set the same properties for existing bones. i know ive had to change the properties of the same bone in khorne knows how many files. i believe it also helps if you still have to tinker with the model to get it working how you want it in OE as im finding it at the moment...

    come to think of it a select all mesh could come in handy as well if you want to set everything invisible.

  35. Modding Senior Member Tabletop Senior Member Boardwars Senior Member Forum Subscriber  #85
    Retired Compliance Fairy Gorb's Avatar
    Join Date
    Jul 2006
    Location
    In the past
    http://www.savefile.com/files/1924549

    Above is a mirror for fneeptools v0.2 as the links in the OP seem to be broken. As it's Savefile, it'll be deleted if people don't download it, but I can always rehost it in that case

    EDIT: Seems I hosted v0.2. Weird. v0.4 in fneep's post below.
    Last edited by Gorb; 11th Dec 08 at 7:24 AM.
    I am an Iron Warrior! Iron Within, Iron Without!

  36. #86
    Resident AI guy thudmeizer's Avatar
    Join Date
    Sep 2004
    Location
    North Toronto, Canada
    Thanks Gorbs... there is just a single problem:

    - The fneeptools release tells me its only 0.2

  37. #87
    Moonbeam Funk fneep's Avatar
    Join Date
    Nov 2005
    Location
    Australia
    http://fneep.fiffa.net/?page_id=51

    I am about to update the link in the first post.

  38. #88
    Resident AI guy thudmeizer's Avatar
    Join Date
    Sep 2004
    Location
    North Toronto, Canada
    Fneep -- have to say I love ya but just not that way without being unpro.

    Btw, any hope of being able to determine why the Chaos HQ cannot be imported without those pesky script errors?

  39. Modding Senior Member Tabletop Senior Member Boardwars Senior Member Forum Subscriber  #89
    Retired Compliance Fairy Gorb's Avatar
    Join Date
    Jul 2006
    Location
    In the past
    Well, if I was using v0.2 (which allowed me to import the Ork Settlement but not the Desecrated Stronghold), there's a possibility v0.4 would allow you to import the Chaos HQ. I'd have to try when I get home.

  40. #90
    Resident AI guy thudmeizer's Avatar
    Join Date
    Sep 2004
    Location
    North Toronto, Canada
    <giggles like skuelgrl>

  41. #91
    Member Sataman's Avatar
    Join Date
    Aug 2010
    Location
    Serbia
    Sorry to bump this,but can anyone re-upload this? All links are broken... :s

  42. #92
    Yep i need this tool too. Sorry for necronpost.

  43. #93
    Member elfurreto's Avatar
    Join Date
    Jun 2006
    Location
    i live in /*CENSURED*/ Canada
    No way...

    You know, this thread is nearly 4 years old, yet,.. i might have a copy,..
    "seriously buddy, better not hope too much,

    The script its written with dont work outside of Max8, or 9,
    ( sorry i'm not in 3D as much these days,.. )
    I'll go grab a duster & check my old Furreto Archive... you never know,

  44. #94
    Resident AI guy thudmeizer's Avatar
    Join Date
    Sep 2004
    Location
    North Toronto, Canada
    Dear Lord, El Furreto LONG TIME bro!

    Always could use your help once again!

  45. #95
    Request: seeking a tool to scale models. I.e. I'm not interested in viewing them, I just want to enter: scale size up x 0.5 (or 1.5 depending on direction) and hit save.
    I'd like to update the halfscale mod for the latest patch of DoW (1.51, that is). Note: the halfscale mod does not update the .whm files; it updates only the .whe files.
    Thank you!

  46. #96
    Member Sataman's Avatar
    Join Date
    Aug 2010
    Location
    Serbia
    You do know that you can scale models by editing the "model_name".lua file?

  47. #97
    Hmmm. No, I did not know that.
    That's not how the halfscale mod seems to be implemented at least.
    The WHE file includes the selection box, too.
    Does scaling via the LUA file do the same?
    What about unit spacing? Would that be taken care of as well?
    Thank you!

  48. #98
    Member jONES1979's Avatar
    Join Date
    Dec 2008
    Location
    Нижний Тагил
    Does scaling via the LUA file do the same?
    What about unit spacing? Would that be taken care of as well?
    No and No. Unfortunately.
    But you can use Corsix Mod Studio to edit spacing.

  49. #99
    But you can use Corsix Mod Studio to edit spacing.
    Could not find anything that would allow doing that - it would only offer extracting the WHE file(s).
    Maybe I am looking in the wrong place. Which tool (within CDMS) do you mean exactly?

  50. #100
    Member jONES1979's Avatar
    Join Date
    Dec 2008
    Location
    Нижний Тагил
    it is offtopic in this thread, so next time asking in a proper place or create a new topic, but this is a picture-answer for you:

    This is a real Enity(unit) spacing in game, (not how big or small model looks, but what a volume it takes on the map)



    For vehicles, there are 'another' size-values in LUA file. Those are phisycal model's size. Read here http://uber-micro.net/ageofsquat/mod...ls/simvis.html

Page 2 of 3 FirstFirst 123 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •