project reality header
Go Back   Project Reality Forums > PR:BF2 Mod Forums > PR:BF2 Community Modding
20 Sep 2024, 00:00:00 (PRT)
Register Developer Blogs Members List Search Quick Links
PR:BF2 Community Modding Making or wanting help making your own asset? Check in here

Reply
 
Thread Tools Display Modes
Old 2017-11-08, 21:25   #101
[R-CON]​Harmonikater
PR:BF2 Contributor
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Quote:
Originally Posted by [R-DEV]Outlawz7 View Post
Could you add support for LOD switch and cull distances coding to exporter? Create the .tweak file on export and add the
GeometryTemplate.setSubGeometryLodDistance and ObjectTemplate.cullRadiusScale lines to it, values input in exporter window. Also retain the values so multiple statics can be exported with same values.

The current tools already support materials coding, the only reason I personally still need to load editor for statics is to code cull and LOD switch which is boring, repetitive especially when having to do it for multiple statics. Being able to input this on export would eliminate the need to load each exported static in editor afterwards entirely. I'm sure bundledmesh export could also benefit from this.
I thought about how to handle this a bit, and I wouldn't touch the .tweak files. To keep it consistent with the existing material coding export, I'd instead write the relevant commands into the .con as well. In the absence of a .tweak file it'll use the .con settings, and if something is then changed afterwards in the editor manually, those changes won't be overwritten by re-exporting the object in question. The one problem this leads to is that if e.g. a LOD is removed in the export, the .tweak file will still carry the old outdated info until it's resaved in the editor. But this exact problem will currently happen with materials coded into the .con (e.g. if the collision mesh is changed, leading to different material mapping in the .con, which won't be transferred directly to the .tweak), so it is consistent at least.

I'm also most likely going to put the setup for culldistance and lod switching into a separate window. Otherwise it would clutter the exporter window too much in my opinion. Think of the worst case example, kits, over a dozen geoms each with lods. So it'll likely be set from its own dialog in the utilities floater.

Since I haven't gotten around to the actual coding on this yet, it's still up for discussion, if necessary, though.

Quote:
Originally Posted by [R-DEV]Outlawz7 View Post
Materials coding fails if anchor is removed, can you fix this?
Adjusted the relevant code to always replace || in mapMaterial lines in the .con file, regardless of whether a anchor is present. Will upload new version this weekend.
Harmonikater is offline Reply With Quote
Old 2017-11-09, 22:55   #102
Rhino
Retired PR Developer
Supporting Member

Rhino's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Having it coded into the .con file should be good, don't want the exporter to mess with the .tweak file as it could do more damage than good and .con is fine otherwise

Rhino is offline Reply With Quote
Old 2017-11-11, 21:27   #103
Outlawz7
Retired PR Developer

Outlawz7's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

I've had no successful experiences with importing overgrowth so far. Using Max 2012, I tried twice and first overgrowth imported but the leaf materials didnt seem to get applied or at least I couldnt tell and the second time it actually asks me twice to open file and then imports dummies only. First time it was a 256x2 map, second was 1024x2, not sure what other differences could happen. Maybe it's number of overgrowth patches/OG view distance? idk.

On third try, OG imported as part of staticobjects is ok, but destroyables aren't.

https://i.imgur.com/9xQrflc.jpg

This could be issue with destroyable objects that are coded non-destroyable, which the missing ones are.

Outlawz7 is offline
Last edited by [R-DEV]Outlawz7; 2017-11-11 at 22:51..
Reply With Quote
Old 2017-11-12, 09:40   #104
[R-CON]​Harmonikater
PR:BF2 Contributor
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Quote:
Originally Posted by [R-DEV]Outlawz7 View Post
I've had no successful experiences with importing overgrowth so far. Using Max 2012, I tried twice and first overgrowth imported but the leaf materials didnt seem to get applied or at least I couldnt tell and the second time it actually asks me twice to open file and then imports dummies only. First time it was a 256x2 map, second was 1024x2, not sure what other differences could happen. Maybe it's number of overgrowth patches/OG view distance? idk.
If it asks you twice, it's not asking for the same file (see caption at the top of the window and the filename it's asking for). This is supposed to happen only when you didn't import StaticObjects.con beforehand. Since the OG templates are defined in StaticObjects.con only and not in OvergrowthCollision.con, it's asking for that as well, so it can read the OG templates. If it cannot read the templates, then it imports the helpers, so I'm guessing you picked the same file twice.

Quote:
Originally Posted by [R-DEV]Outlawz7 View Post
This could be issue with destroyable objects that are coded non-destroyable, which the missing ones are.
Got an example for such an object so I can test it out?
Harmonikater is offline Reply With Quote
Old 2017-11-12, 10:45   #105
Outlawz7
Retired PR Developer

Outlawz7's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Oops, my bad then.

objects\staticobjects\pr\afghan\destroyable\corner _1floor_door_nondestroyable

Quote:
ObjectTemplate.create SimpleObject corner_1floor_door_nondestroyable
ObjectTemplate.saveInSeparateFile 1
ObjectTemplate.creator MB03:mb
ObjectTemplate.collisionMesh corner_1floor_door
ObjectTemplate.mapMaterial 0 Penetrable_plaster_wall 0
ObjectTemplate.mapMaterial 1 Penetrable_Wood 0
ObjectTemplate.mapMaterial 2 concrete 0
ObjectTemplate.hasCollisionPhysics 1
ObjectTemplate.physicsType 3
ObjectTemplate.geometry corner_1floor_door

include corner_1floor_door_nondestroyable.tweak
Another issue I had in the past with statics that load geometry from another object like here was that 3ds Max named and lightmapped an object called 'corner_1floor_door_nondestroyable' which editor/game wouldn't see/load as the actual geometry name is 'corner_1floor_door', does this still happen?

Outlawz7 is offline Reply With Quote
Old 2017-11-12, 11:26   #106
[R-CON]​Harmonikater
PR:BF2 Contributor
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Ah, so the issue should not be related to destroyables, but rather to statics that use geometry that's not present in /meshes/ in the same folder. So I'll have to implement searching for geometries in other folders (for those cases where the geometry defined in .con differs from the actual template name).
Correct me if I'm wrong, but I don't think that ever was included in previous versions of the tools, so import of such statics shouldn't have worked previously either?

Quote:
Originally Posted by [R-DEV]Outlawz7 View Post
Another issue I had in the past with statics that load geometry from another object like here was that 3ds Max named and lightmapped an object called 'corner_1floor_door_nondestroyable' which editor/game wouldn't see/load as the actual geometry name is 'corner_1floor_door', does this still happen?
Most probably not, since it's the first time I'm hearing about this.
Just to make sure I understand correctly, the generated lightmaps always have to be named after the geometry and NOT the actual template to be interpreted correctly by the engine, is that the issue?
Harmonikater is offline Reply With Quote
Old 2017-11-12, 12:52   #107
Outlawz7
Retired PR Developer

Outlawz7's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Quote:
Originally Posted by Harmonikater View Post
Just to make sure I understand correctly, the generated lightmaps always have to be named after the geometry and NOT the actual template to be interpreted correctly by the engine, is that the issue?
Looks like it.

Issue was with '_nl' versions of statics that remove ladders from child objects to avoid hitting the 255 ladders limit, in case of those the files and meshes are in same folder but not in case of those afghan destroyable nondestroyables.


Outlawz7 is offline Reply With Quote
Old 2017-11-18, 14:24   #108
Outlawz7
Retired PR Developer

Outlawz7's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

Using 'Save/Update LM file' I keep getting
Quote:
-- No ""get"" function for undefined
error on Max 9, keeps happening on a scene I started today
It highlights
Quote:
local tObjNames = g_BF2LmTxtSizes[1]

edit: also does the Resume option work at all? I ticked it before clicking Render All Lightmaps and it just started over, rerendering LMs that were already done.

Outlawz7 is offline
Last edited by [R-DEV]Outlawz7; 2017-11-18 at 21:53..
Reply With Quote
Old 2017-11-24, 00:12   #109
[R-DEV]Mineral
PR:BF2 Lead Designer
Supporting Member
PR Server License Administrator

Mineral's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

So trying to get this to work in max9 atm, still get errors when for example running 'load staticobjects.con'

Code:
"not found"
"not found"
  g_bf2Level_gameDir: C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\
fullPath : C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con
bf2LoadObjCon( C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con )
Looking for samples in C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/
-- Error occurred in bf2LoadObjCon(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\importFromGame.ms; position: 4384
--  Frame:
--   modPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\"
--   tmpObjType: "simpleobject"
--   fnameFullPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m"
--   skipChild: undefined
--   includedFnames: #()
--   fullPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   firstType: "simpleobject"
--   objTemplates: #()
--   isRelativePath: undefined
--   myItem: undefined
--   fnameRelativePath: "objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m"
--   fname: "objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   f: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\staticobjects\pr\broken_fence\broken_fence_100m\broken_fence_100m.con>
--   currentObject: #("broken_fence_100m", "objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m.staticmesh", 1, #(), "simpleobject", "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\", true)
--   currentChild: undefined
--   currentType: "simpleobject"
--   includeFileName: "broken_fence_100m.tweak"
--   tmpA: undefined
--   s: 10.0
--   substituteString: undefined
--   firstItem: "include"
--   myTable: undefined
--   commenting: false
--   foundValidFile: true
--   includeFileDir: undefined
--   tmpLine: #("include", "broken_fence_100m.tweak")
--   called in bf2ReadStaticObjectsCon(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\importFromGame.ms; position: 17641
--  Frame:
--   findID: 72
--   t1: 4428277
--   rot3: undefined
--   fStatics: undefined
--   offset: [0,0,0]
--   allObjs: #()
--   progressMult: undefined
--   xformStr: undefined
--   pntsStr: undefined
--   fname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con"
--   f: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con>
--   linea: "run /objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   currentObject: undefined
--   rot2: undefined
--   s: 10.0
--   doGeom: true
--   forLm: true
--   fnameStatics: undefined
--   firstItem: "run"
--   timeToParseConFile: undefined
--   timeToLoadGeom: undefined
--   rot1Str: undefined
--   t2: undefined
--   rot2Str: undefined
--   commenting: false
--   rot3Str: undefined
--   posStr: undefined
--   forOg: false
--   fnameAsFwd: "c:/program files (x86)/project reality/project reality bf2/mods/pr_repo/levels/pn_omaha_beach/staticobjects.con"
--   userAbort: false
--   rot1: undefined
--   tmpLine: #("run", "/objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con")
--   called in btnImportBuildings.pressed(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\roll_lightmaps.ms; position: 18354
--  Frame:
--   objSet: undefined
--   fname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con"
--   forLightmaps: true
>> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: undefined <<
#("/rawData/", "/mods/bf2/", "/mods/poe2/", "/mods/pr/", "/mods/pr_edit/", "/mods/pr_repo/", "/mods/usidev/", "/mods/usi_work/", "/mods/eod_dev/", "/mods/bfp2_edit/", "/mods/fh2/", "/mods/fh2test/", "/mods/fh2_edit/", "/mods/usidev/", "/mods/usi_work/")
#("/rawData/", "/mods/pr_repo/")
"not found"
"not found"
  g_bf2Level_gameDir: C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\
fullPath : C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con
bf2LoadObjCon( C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con )
Looking for samples in C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/
-- Error occurred in bf2LoadObjCon(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\importFromGame.ms; position: 4384
--  Frame:
--   modPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\"
--   tmpObjType: "simpleobject"
--   fnameFullPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m"
--   skipChild: undefined
--   includedFnames: #()
--   fullPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   firstType: "simpleobject"
--   objTemplates: #()
--   isRelativePath: undefined
--   myItem: undefined
--   fnameRelativePath: "objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m"
--   fname: "objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   f: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\staticobjects\pr\broken_fence\broken_fence_100m\broken_fence_100m.con>
--   currentObject: #("broken_fence_100m", "objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m.staticmesh", 1, #(), "simpleobject", "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\", true)
--   currentChild: undefined
--   currentType: "simpleobject"
--   includeFileName: "broken_fence_100m.tweak"
--   tmpA: undefined
--   s: 10.0
--   substituteString: undefined
--   firstItem: "include"
--   myTable: undefined
--   commenting: false
--   foundValidFile: true
--   includeFileDir: undefined
--   tmpLine: #("include", "broken_fence_100m.tweak")
--   called in bf2ReadStaticObjectsCon(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\importFromGame.ms; position: 17641
--  Frame:
--   findID: 72
--   t1: 4485607
--   rot3: undefined
--   fStatics: undefined
--   offset: [0,0,0]
--   allObjs: #()
--   progressMult: undefined
--   xformStr: undefined
--   pntsStr: undefined
--   fname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con"
--   f: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con>
--   linea: "run /objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   currentObject: undefined
--   rot2: undefined
--   s: 10.0
--   doGeom: true
--   forLm: true
--   fnameStatics: undefined
--   firstItem: "run"
--   timeToParseConFile: undefined
--   timeToLoadGeom: undefined
--   rot1Str: undefined
--   t2: undefined
--   rot2Str: undefined
--   commenting: false
--   rot3Str: undefined
--   posStr: undefined
--   forOg: false
--   fnameAsFwd: "c:/program files (x86)/project reality/project reality bf2/mods/pr_repo/levels/pn_omaha_beach/staticobjects.con"
--   userAbort: false
--   rot1: undefined
--   tmpLine: #("run", "/objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con")
--   called in btnImportBuildings.pressed(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\roll_lightmaps.ms; position: 18354
--  Frame:
--   objSet: undefined
--   fname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con"
--   forLightmaps: true
>> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: undefined <<
"not found"
"not found"
  g_bf2Level_gameDir: C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\
fullPath : C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con
bf2LoadObjCon( C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con )
Looking for samples in C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/
-- Error occurred in bf2LoadObjCon(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\importFromGame.ms; position: 4384
--  Frame:
--   modPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\"
--   tmpObjType: "simpleobject"
--   fnameFullPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m"
--   skipChild: undefined
--   includedFnames: #()
--   fullPath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   firstType: "simpleobject"
--   objTemplates: #()
--   isRelativePath: undefined
--   myItem: undefined
--   fnameRelativePath: "objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m"
--   fname: "objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   f: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\staticobjects\pr\broken_fence\broken_fence_100m\broken_fence_100m.con>
--   currentObject: #("broken_fence_100m", "objects/staticobjects/pr/broken_fence/broken_fence_100m/Meshes/broken_fence_100m.staticmesh", 1, #(), "simpleobject", "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\", true)
--   currentChild: undefined
--   currentType: "simpleobject"
--   includeFileName: "broken_fence_100m.tweak"
--   tmpA: undefined
--   s: 10.0
--   substituteString: undefined
--   firstItem: "include"
--   myTable: undefined
--   commenting: false
--   foundValidFile: true
--   includeFileDir: undefined
--   tmpLine: #("include", "broken_fence_100m.tweak")
--   called in bf2ReadStaticObjectsCon(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\importFromGame.ms; position: 17641
--  Frame:
--   findID: 72
--   t1: 4516616
--   rot3: undefined
--   fStatics: undefined
--   offset: [0,0,0]
--   allObjs: #()
--   progressMult: undefined
--   xformStr: undefined
--   pntsStr: undefined
--   fname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con"
--   f: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con>
--   linea: "run /objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con"
--   currentObject: undefined
--   rot2: undefined
--   s: 10.0
--   doGeom: true
--   forLm: true
--   fnameStatics: undefined
--   firstItem: "run"
--   timeToParseConFile: undefined
--   timeToLoadGeom: undefined
--   rot1Str: undefined
--   t2: undefined
--   rot2Str: undefined
--   commenting: false
--   rot3Str: undefined
--   posStr: undefined
--   forOg: false
--   fnameAsFwd: "c:/program files (x86)/project reality/project reality bf2/mods/pr_repo/levels/pn_omaha_beach/staticobjects.con"
--   userAbort: false
--   rot1: undefined
--   tmpLine: #("run", "/objects/staticobjects/pr/broken_fence/broken_fence_100m/broken_fence_100m.con")
--   called in btnImportBuildings.pressed(); filename: C:\Program Files (x86)\Autodesk\3ds Max 9\scripts\bf2\statics\roll_lightmaps.ms; position: 18354
--  Frame:
--   objSet: undefined
--   fname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\StaticObjects.con"
--   forLightmaps: true
>> MAXScript Rollout Handler Exception: -- Type error: Call needs function or class, got: undefined <<
running as administrator, full permission on all files. Works fine in max2012 and max2016. this is my config:
Code:
[bf2]
outModPath=C:/Program Files (x86)/Project Reality/Project Reality BF2/mods/pr_repo/
chkPause=false
chkDebug=false
chkFixImagePath=false
chkUsePrefix=false
chkLightmapUVs=false
rawdataDir0=/rawData/
rawdataDir1=/mods/pr_repo/
rawdataDir2=
rawdataDir3=/mods/pr/
rawdataDir4=/mods/pr_edit/
rawdataDir5=/mods/pr_repo/
rawdataDir6=/mods/usidev/
rawdataDir7=/mods/usi_work/
rawdataDir8=/mods/eod_dev/
rawdataDir9=/mods/bfp2_edit/
rawdataDir10=/mods/fh2/
rawdataDir11=/mods/fh2test/
rawdataDir12=/mods/fh2_edit/
rawdataDir13=/mods/usidev/
rawdataDir14=/mods/usi_work/
rawdataDir15=
lightmaps_ddMachineNum=1
lightmaps_ddMachineOutOf=1
lightmaps_edtOutDir=C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\lightmaps_3dsmax\temp\
lightmaps_edtDirConvert=C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\lightmaps_3dsmax\output
lightmaps_edtLMSizeFile=C:\Users\Lukas\Desktop\lightmapping\sizes.txt
lightmaps_ddDefaultLMSetting=3
lightmaps_ddDxt=1
lightmaps_ddRenderChannel=4
lightmaps_chkRendConvertAfter=false
lightmaps_ddLodToRend=1
lmNetRend_OutDir=
lmNetRend_NumJobs=0
Bf2Batch.edtDest=
Bf2Batch.edtRawData=
dynLights_edtOutDir.text=
chkRemRootBone=false
rawdataDir15=

chkNoSubDir=false
chkAltImport=false
chkBfMeshViewLMs=false
lightmaps_edtDirTerrain=C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\levels\pn_omaha_beach\lightmaps_3dsmax\terrain

Mineral is offline Reply With Quote
Old 2017-11-24, 18:28   #110
[R-DEV]Mineral
PR:BF2 Lead Designer
Supporting Member
PR Server License Administrator

Mineral's Avatar
Default Re: Experimental updated 3dsMax Tools. Newer Max versions support and more.

EDIT: it was 2 materials having the same name. really weird, as it worked just days ago.

Another crazy bug :/ So I was working on a helicopter export scene 2 days ago, went fine in max2012 with new tools. Exported just fine. Wanted to work on it today, suddenly couldn't export anymore and got the famous 'Unknown property: "count" in undefined' error again. Now when I import the mesh again (which is the exact same as is in my export scene, they match) and try to re-export that it works. But working from my own export scene from few days ago doesn't work anymore all of sudden . Which is weird cause it worked just days ago.

https://www.dropbox.com/s/xjzakw41w3...neral.max?dl=0

It seems to point at strings.ms at this function:

Code:
fn replaceChar txt rC nC=
(
	for i=1 to txt.count do
		if txt[i] == rC then txt[i] = nC
	
	return txt
)
with my log:

Code:
Note: PhysX SDK initialized
Note: PhysX Plugin initialized
Max to Physcs Geometry Scale = 1.0
Max to Physcs Geometry Scale = 1.0
noSubDir: false
edtPath.text: /vehicles/air/
newDestPath; /vehicles/air/
Save: C:/Program Files (x86)/Project Reality/Project Reality BF2/mods/pr_repo/objects/vehicles/air/pl_ahe_sokol/pl_ahe_sokol.dat
save()
 scalesAreUniform: true
 anmRange: #(0f, 100f)
 anmObjs: #()
 fname: C:/Program Files (x86)/Project Reality/Project Reality BF2/mods/pr_repo/objects/vehicles/air/pl_ahe_sokol/pl_ahe_sokol.dat
 objs: #($Point_Helper:root_bundledmesh_pl_ahe_sokol @ [0.000000,0.000000,0.000000], $Dummy:geom0 @ [0.000000,0.000000,0.000000], $Dummy:lod0 @ [0.000000,0.000000,0.000000], $Editable_Poly:pl_ahe_sokol__PlayerControlObject @ [0.000000,0.000000,0.000000], $Editable_Mesh:Cannon__GenericFireArm @ [0.000000,38.244095,-39.334648], $Editable_Mesh:Btm_Barrel__Bundle @ [36.546577,70.437012,-42.668919], $Editable_Mesh:Top_Barrel__Bundle @ [37.604324,70.440948,-39.756023], $Editable_Mesh:FWheel__Spring @ [0.000000,101.153542,-68.094490], $Editable_Mesh:LWheel__Spring @ [-62.948818,-47.377953,-62.468502], $Editable_Mesh:RWheel__Spring @ [62.956692,-47.370079,-62.468502], $Dummy:geom1 @ [0.000000,0.000000,0.000000], $Dummy:lod0 @ [0.000000,0.000000,0.000000], $Editable_Poly:pl_ahe_sokol__PlayerControlObject @ [0.000000,0.000000,0.000000], $Editable_Mesh:Cannon__GenericFireArm @ [0.000000,38.244095,-39.334648], $Editable_Mesh:Btm_Barrel__Bundle @ [36.546577,70.437012,-42.668919], $Editable_Mesh:Top_Barrel__Bundle @ [37.604324,70.440948,-39.756023], $Editable_Mesh:FWheel__Spring @ [0.000000,101.153542,-68.094490], $Editable_Mesh:LWheel__Spring @ [-62.948818,-47.377953,-62.468502], $Editable_Mesh:RWheel__Spring @ [62.956692,-47.370079,-62.468502], $Dummy:lod1 @ [0.000000,0.000000,0.000000], ...)
 jointNodeTypes: #(BoneGeometry, Pyramid)
 BF2SortSkeParts: #($Point_Helper:root_bundledmesh_pl_ahe_sokol @ [0.000000,0.000000,0.000000], $Dummy:geom0 @ [0.000000,0.000000,0.000000], $Dummy:lod0 @ [0.000000,0.000000,0.000000], $Editable_Poly:pl_ahe_sokol__PlayerControlObject @ [0.000000,0.000000,0.000000], $Editable_Mesh:Cannon__GenericFireArm @ [0.000000,38.244095,-39.334648], $Editable_Mesh:Btm_Barrel__Bundle @ [36.546577,70.437012,-42.668919], $Editable_Mesh:Top_Barrel__Bundle @ [37.604324,70.440948,-39.756023], $Editable_Mesh:FWheel__Spring @ [0.000000,101.153542,-68.094490], $Editable_Mesh:LWheel__Spring @ [-62.948818,-47.377953,-62.468502], $Editable_Mesh:RWheel__Spring @ [62.956692,-47.370079,-62.468502], $Dummy:geom1 @ [0.000000,0.000000,0.000000], $Dummy:lod0 @ [0.000000,0.000000,0.000000], $Editable_Poly:pl_ahe_sokol__PlayerControlObject @ [0.000000,0.000000,0.000000], $Editable_Mesh:Cannon__GenericFireArm @ [0.000000,38.244095,-39.334648], $Editable_Mesh:Btm_Barrel__Bundle @ [36.546577,70.437012,-42.668919], $Editable_Mesh:Top_Barrel__Bundle @ [37.604324,70.440948,-39.756023], $Editable_Mesh:FWheel__Spring @ [0.000000,101.153542,-68.094490], $Editable_Mesh:LWheel__Spring @ [-62.948818,-47.377953,-62.468502], $Editable_Mesh:RWheel__Spring @ [62.956692,-47.370079,-62.468502], $Dummy:lod1 @ [0.000000,0.000000,0.000000], ...)
 validMeshIDs: #(4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, ...)
"skipping fclose"
-- Error occurred in replaceChar(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\general\strings.ms; position: 830; line: 47
--  Frame:
--   rc: "\"
--   nC: "/"
--   txt: undefined
--   called in getTextureFromFname(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 2462; line: 114
--  Frame:
--   foundID: undefined
--   tmpName: undefined
--   fname: undefined
--   called in getTextureFrom_Bitmaptexture(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 2899; line: 137
--  Frame:
--   bt: Bitmaptexture:Bitmap
--   called in doBundledMeshGeneric(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 6795; line: 297
--  Frame:
--   mat: Alpha||Alpha_Blend:BF2_BundledMesh
--   textures: undefined
--   findPos: undefined
--   mapIDs: #(16, 9, 6)
--   type: "bundledmesh"
--   thisMat: (matContainer materialID:undefined materialName:"Alpha||Alpha_Blend" fxFilename:undefined technique:undefined textures:#())
--   bundledTypeMaterial: undefined
--   bumpTex: undefined
--   matSrc: #(undefined, Bitmaptexture:Bitmap, undefined, undefined, undefined, undefined, undefined, undefined, Bitmaptexture:Bitmap, undefined, undefined, undefined, undefined, undefined, undefined, Bitmaptexture:Bitmap, undefined, undefined, undefined, undefined, undefined, ...)
--   matName: undefined
--   testType: "bundledmesh"
--   colorTex: "objects/vehicles/common/textures/us_vehicleglass_c.dds"
--   shadTex: undefined
--   called in doBundledMesh(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 8402; line: 356
--  Frame:
--   t: #(16, 9, 6)
--   mat: Alpha||Alpha_Blend:BF2_BundledMesh
--   type: "bundledmesh"
--   thisMat: undefined
--   called in getSingle(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 9617; line: 415
--  Frame:
--   fxMat: undefined
--   mat: Alpha||Alpha_Blend:BF2_BundledMesh
--   type: "bundledmesh"
--   classMat: bf2_BundledMesh
--   bf2_StaticMesh: undefined
--   called in i loop; filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 10492; line: 454
--  Frame:
--   i: 2
--   singleMat: undefined
--   called in getMulti(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\materials.ms; position: 10612; line: 460
--  Frame:
--   theClass: Multimaterial
--   mat: #Multi/Sub-Object:01 - Default(BF2 BundledMesh:3P||ColormapGloss, BF2 BundledMesh:Alpha||Alpha_Blend, BF2 BundledMesh:3P||ColormapGloss, BF2 BundledMesh:1P||ColormapGloss, BF2 BundledMesh:Alpha_1P||Alpha_Blend, undefined, undefined, undefined, undefined, undefined)
--   matInfo: #((matContainer materialID:1 materialName:"3P" fxFilename:"BundledMesh.fx" technique:"Full" textures:#("objects/vehicles/air/pl_ahe_sokol/textures/pl_ahe_sokol_c.dds", "objects/vehicles/air/pl_ahe_sokol/textures/pl_ahe_sokol_b.dds", "Common\Textures\SpecularLUT_pow36.dds", "__TECHNIQUE__ColormapGloss")))
--   type: "bundledmesh"
--   matsList: #(3P||ColormapGloss:BF2_BundledMesh, Alpha||Alpha_Blend:BF2_BundledMesh, 3P||ColormapGloss:BF2_BundledMesh, 1P||ColormapGloss:BF2_BundledMesh, Alpha_1P||Alpha_Blend:BF2_BundledMesh, undefined, undefined, undefined, undefined, undefined)
--   matIDList: #(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
--   called in i loop; filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\rSceneDump.ms; position: 8195; line: 393
--  Frame:
--   matInfo: undefined
--   i: 1
--   isNonVis: undefined
--   dontWarnSkinWeights: undefined
--   a: undefined
--   bnObjs: undefined
--   meshObj_OriginalTransform: undefined
--   p: undefined
--   meshObj: $pl_ahe_sokol__PlayerControlObject
--   crdSpace: undefined
--   minUvSetCnt: undefined
--   called in save(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\rSceneDump.ms; position: 11048; line: 498
--  Frame:
--   matFname: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\vehicles\air\pl_ahe_sokol\pl_ahe_sokol.material"
--   dbg: false
--   scalesAreUniform: true
--   fnameType: ".dat"
--   anmObjs: #()
--   isSkeleton: false
--   fnamePath: undefined
--   isAnimation: false
--   validMeshIDs: #(4, 5, 6, 7, 8, 9, 10, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 24, 25, 26, ...)
--   objectTypeName: "bundledmesh"
--   isStaticObject: false
--   meshCount: 0
--   fMat: <File:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\vehicles\air\pl_ahe_sokol\pl_ahe_sokol.material>
--   isAnimOrSke: false
--   is3p: false
--   validType: true
--   rootNodeTransform: (matrix3 [1,0,0] [0,1,0] [0,0,1] [0,0,0])
--   objUsesMesh: #(undefined, undefined, undefined, 4, 5, 6, 7, 8, 9, 10, undefined, undefined, 13, 14, 15, 16, 17, 18, 19, undefined, ...)
--   errMesg: undefined
--   rHand: undefined
--   s: 0.0254
--   b: undefined
--   objs: #($root_bundledmesh, $geom0, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $geom1, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $lod1, ...)
--   numWeapParts: 0
--   anmRange: #(0f, 0f)
--   animatedNodeNames: undefined
--   root_bone: undefined
--   is1p: false
--   f: <BinStream:C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\vehicles\air\pl_ahe_sokol\pl_ahe_sokol.dat>
--   oldRootName: "root_bundledmesh_pl_ahe_sokol"
--   fname: "C:/Program Files (x86)/Project Reality/Project Reality BF2/mods/pr_repo/objects/vehicles/air/pl_ahe_sokol/pl_ahe_sokol.dat"
--   prefix: undefined
--   rootObjNode: $root_bundledmesh
--   jointNodeTypes: #(BoneGeometry, Pyramid)
--   objsNew: #($root_bundledmesh, $geom0, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $geom1, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $lod1, ...)
--   objsPrefix: #()
--   called in Bf2Export(); filename: C:\Program Files\Autodesk\3ds Max 2012\scripts\bf2\_MainExporter.ms; position: 6916; line: 312
--  Frame:
--   meshType: undefined
--   dbg: false
--   anmObjs: #()
--   occs: #()
--   fnamePath: "C:\Program Files (x86)\Project Reality\Project Reality BF2\mods\pr_repo\objects\vehicles\air\pl_ahe_sokol\"
--   filesToDel: undefined
--   pauseOutput: false
--   objectTypeName: undefined
--   tempObjs: #($root_bundledmesh, $geom0, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $geom1, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $lod1, ...)
--   fnameWithoutExt: undefined
--   buildMode: undefined
--   s: 0.0254
--   objs: #($root_bundledmesh, $geom0, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $geom1, $lod0, $pl_ahe_sokol__PlayerControlObject, $Cannon__GenericFireArm, $Btm_Barrel__Bundle, $Top_Barrel__Bundle, $FWheel__Spring, $LWheel__Spring, $RWheel__Spring, $lod1, ...)
--   convertStr: undefined
--   anmRange: #(0f, 100f)
--   convertStrB: undefined
--   fname: "C:/Program Files (x86)/Project Reality/Project Reality BF2/mods/pr_repo/objects/vehicles/air/pl_ahe_sokol/pl_ahe_sokol.dat"
--   prefix: undefined
--   destDat: undefined
--   rootObjNode: undefined
--   strExeA: undefined
--   strExeB: undefined
>> MAXScript Rollout Handler Exception:
-- Unknown property: "count" in undefined <<

Mineral is offline
Last edited by [R-DEV]Mineral; 2017-11-24 at 18:35..
Reply With Quote
Reply


Tags
3dsmax, experimental, max, newer, support, tools, updated, vbf2 or pr, versions

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



All times are GMT. The time now is 10:25.