DragonFF
DragonFF copied to clipboard
DFFs exported by DragonFF can't be opened by other importers
I am aware this is not a standard DFF lock (and thus DFF Unlocker type programs don't fix this issue), but some extra piece of info in the file that is different from standard. Is there a possibility of introducing a "Compatibility Mode" of sorts that makes the DFF files able to get imported by other programs/plugins?
That's interesting, must be an error with exporting if it can't be imported by any of the other importers :thinking:
I'll take a look at it.
EDIT: Do you have a Blender scene (or DFF) that can't be imported in other importers?
Alright, I found out the issue with the other importers. They don't follow the following trait of the RpGeometry.
Bits 16-23 (mask 0x00FF0000) in the format description give the number of texture coordinate sets (numTexSets). If the value in the file is zero, rpGEOMETRYTEXTURED means there is one set of texture coordinates, rpGEOMETRYTEXTURED2 means there are two.
But instead simply rely upon the number of texture coordinates present in the bitmask. This is at least the issue with the other Blender importers, I've not tried it yet with 3ds max, but it might be a similar issue.
Confirmed to have solved it in Zmodeler...
But not in 3DS Max with Kam's GTA Scripts.
I'm sorry, I've been forgetting the 3DS' log.
Sorry, this is actually a lot longer than I thought it was. Here's the full thing:
-- Error occurred in anonymous codeblock; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms; position: 1253; line: 33 -- MAXScript Auto-load Script Error - C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms Exception: -- Unknown property: "CompileAllToolGraphs" in dotNetClass:Viper3dsMaxBridge.Main -- MAXScript callstack: -- thread data: threadID:4724
-- [stack level: 0] -- In ReloadOperatorsAndCompileTools(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms; position: 1254; line: 33 -- member of: StructDef:ProceduralContentOps -- Locals: -- Bridge: dotNetClass:Viper3dsMaxBridge.Main -- Externals: -- owner: (ProceduralContentOps)
-- [stack level: 1] -- called from SetUpCurrentUser(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms; position: 3603; line: 99 -- member of: StructDef:ProceduralContentOps -- Locals: -- Externals: -- SetupUserProfileFolder: Struct member:SetupUserProfileFolder : SetupUserProfileFolder() -- RegisterCustomGraphPaths: Struct member:RegisterCustomGraphPaths : RegisterCustomGraphPaths() -- ReloadOperatorsAndCompileTools: Struct member:ReloadOperatorsAndCompileTools : ReloadOperatorsAndCompileTools() -- owner: (ProceduralContentOps) -- RegisterForPreLoadMaxFile: Struct member:RegisterForPreLoadMaxFile : RegisterForPreLoadMaxFile() -- LoadAssemblies: Struct member:LoadAssemblies : LoadAssemblies()
-- [stack level: 2] -- called from top-level
DFFin SA function
- Complete new Bones/Skin functions
- Second UV Map Skipped!
- Material Matching based on ashdexx's explanation, many thanks!
- new GTA Material added
- rwLight try (some data skipped)
- Non-Standard dff import disabled
by Kam 15Dec05 [email protected]
DFFout SA functions
- Complete new Bones/Skin functions
- Collision Quick Hack
- Same GeometryFlag for all objects only
- Material Matching based on ashdexx's explanation, many thanks!
- export GTA Material
- rwLight try
- 2nd UV Map
- Vehicle Parts try
- Lock added
by Kam 19Dec05 [email protected]
-- Error occurred in anonymous codeblock; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9045; line: 315 -- MAXScript Rollout Handler Exception: -- Unable to convert: undefined to type: String -- MAXScript callstack: -- thread data: threadID:4724
-- [stack level: 0] -- In j loop; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9032; line: 314 -- Defined in encrypted script
-- [stack level: 1] -- called from i loop; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9046; line: 315 -- Defined in encrypted script
-- [stack level: 2] -- called from rFrameList(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9760; line: 338 -- Defined in encrypted script
-- [stack level: 3] -- called from DFFin(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 31003; line: 992 -- Defined in encrypted script
-- [stack level: 4] -- called from imp.pressed(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\GTA_DFF_IO.ms; position: 5495; line: 144 -- member of: Rollout:DFFinPara -- Locals: -- f: BinStream:C:\Users\ThePortuguesePlayer\Projectos\Jogos\NFS_SA\Moonbeam\TestBuilds\moonbeam57.dff -- texEx: ".tga" -- txt: undefined -- Externals: -- textype: RolloutControl:textype in rollout:DFFinPara : RadioControl:textype -- fname: "C:\Users\ThePortuguesePlayer\Projectos\Jogos\NFS_SA\Moonbeam\TestBuilds\moonbeam57.dff" -- DFFin: Global:DFFin : DFFin() -- ISc: RolloutControl:ISc in rollout:DFFinPara : SpinnerControl:ISc -- Dummysize: Global:Dummysize : 0.1 -- DFFinPara: Rollout:DFFinPara -- no_clump: #(0L) -- autoskin: RolloutControl:autoskin in rollout:DFFinPara : CheckButtonControl:autoskin -- checkClump: Global:checkClump : checkClump() -- aboutRoll: Global:aboutRoll : Rollout:aboutRoll -- whichone: RolloutControl:whichone in rollout:DFFinPara : SpinnerControl:whichone -- owner: Rollout:DFFinPara -- useclump: RolloutControl:useclump in rollout:DFFinPara : ButtonControl:useclump
-- [stack level: 5] -- called from top-level by Kam 19Dec05 -- Syntax error: at by, expected
-- In line: by K
I have to report that after switching to the latest commit, the one made to solve this issue, all faces in the model are exported with the normals inverted.
Fixed the normals issue. Regarding the 3ds max import, could you try that on a simple model? Say a cube or a one mesh object since it'll be easier to debug.
Okay, confirmed to be working with correct normals even on Zmodeler. Now, the log from a DFF of a cube with no normals saved pasted from 3DS' console:
-- Error occurred in anonymous codeblock; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms; position: 1253; line: 33 -- MAXScript Auto-load Script Error - C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms Exception: -- Unknown property: "CompileAllToolGraphs" in dotNetClass:Viper3dsMaxBridge.Main -- MAXScript callstack: -- thread data: threadID:2436
-- [stack level: 0] -- In ReloadOperatorsAndCompileTools(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms; position: 1254; line: 33 -- member of: StructDef:ProceduralContentOps -- Locals: -- Bridge: dotNetClass:Viper3dsMaxBridge.Main -- Externals: -- owner: (ProceduralContentOps)
-- [stack level: 1] -- called from SetUpCurrentUser(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\startup\ProceduralContent.ms; position: 3603; line: 99 -- member of: StructDef:ProceduralContentOps -- Locals: -- Externals: -- RegisterCustomGraphPaths: Struct member:RegisterCustomGraphPaths : RegisterCustomGraphPaths() -- ReloadOperatorsAndCompileTools: Struct member:ReloadOperatorsAndCompileTools : ReloadOperatorsAndCompileTools() -- owner: (ProceduralContentOps) -- RegisterForPreLoadMaxFile: Struct member:RegisterForPreLoadMaxFile : RegisterForPreLoadMaxFile() -- LoadAssemblies: Struct member:LoadAssemblies : LoadAssemblies() -- SetupUserProfileFolder: Struct member:SetupUserProfileFolder : SetupUserProfileFolder()
-- [stack level: 2] -- called from top-level
DFFin SA function
- Complete new Bones/Skin functions
- Second UV Map Skipped!
- Material Matching based on ashdexx's explanation, many thanks!
- new GTA Material added
- rwLight try (some data skipped)
- Non-Standard dff import disabled
by Kam 15Dec05 [email protected]
DFFout SA functions
- Complete new Bones/Skin functions
- Collision Quick Hack
- Same GeometryFlag for all objects only
- Material Matching based on ashdexx's explanation, many thanks!
- export GTA Material
- rwLight try
- 2nd UV Map
- Vehicle Parts try
- Lock added
by Kam 19Dec05 [email protected]
-- Error occurred in anonymous codeblock; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9045; line: 315 -- MAXScript Rollout Handler Exception: -- Unable to convert: undefined to type: String -- MAXScript callstack: -- thread data: threadID:2436
-- [stack level: 0] -- In j loop; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9032; line: 314 -- Defined in encrypted script
-- [stack level: 1] -- called from i loop; filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9046; line: 315 -- Defined in encrypted script
-- [stack level: 2] -- called from rFrameList(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 9760; line: 338 -- Defined in encrypted script
-- [stack level: 3] -- called from DFFin(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\CharDFFimp.mse; position: 31003; line: 992 -- Defined in encrypted script
-- [stack level: 4] -- called from imp.pressed(); filename: C:\Program Files\Autodesk\3ds Max 2018\scripts\GTA_Tools\GTA_DFF_IO.ms; position: 5495; line: 144 -- member of: Rollout:DFFinPara -- Locals: -- texEx: ".tga" -- txt: undefined -- f: <BinStream:C:\Users\ThePortuguesePlayer\Projectos\Jogos\Mateusz Arunn\fdgx.dff> -- Externals: -- fname: "C:\Users\ThePortuguesePlayer\Projectos\Jogos\Mateusz Arunn\fdgx.dff" -- DFFin: Global:DFFin : DFFin() -- ISc: RolloutControl:ISc in rollout:DFFinPara : SpinnerControl:ISc -- Dummysize: Global:Dummysize : 0.1 -- DFFinPara: Rollout:DFFinPara -- no_clump: #(0L) -- autoskin: RolloutControl:autoskin in rollout:DFFinPara : CheckButtonControl:autoskin -- checkClump: Global:checkClump : checkClump() -- aboutRoll: Global:aboutRoll : Rollout:aboutRoll -- whichone: RolloutControl:whichone in rollout:DFFinPara : SpinnerControl:whichone -- owner: Rollout:DFFinPara -- useclump: RolloutControl:useclump in rollout:DFFinPara : ButtonControl:useclump -- textype: RolloutControl:textype in rollout:DFFinPara : RadioControl:textype
-- [stack level: 5] -- called from top-level