Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Harmonikater
BF2-3dsMax-Tools
Commits
f624677f
Commit
f624677f
authored
May 02, 2020
by
Harmonikater
Browse files
Merge branch 'colMesh_import' into 'master'
Col mesh import See merge request
!1
parents
c3576afe
399acee3
Pipeline
#3882
passed with stage
in 34 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
scripts/bf2/ColMesh_Import.ms
View file @
f624677f
...
...
@@ -2,7 +2,7 @@
-- Version 1.0.0
-- Copyright Martijn Buijs, 2008
-- http://www.bytehazard.com
g_bf2doInclude "general/misc.ms"
-- clean up
clearlistener()
...
...
@@ -173,7 +173,7 @@ rollout rImport "ColMesh Importer"
(
group "Import"
(
spinner spnImpScale "Scale " range:[0.001,1000.0,10.0]
--
spinner spnImpScale "Scale " range:[0.001,1000.0,10.0]
button cmdImport "Import..." width: 140
)
on cmdImport pressed do
...
...
@@ -187,7 +187,7 @@ rollout rImport "ColMesh Importer"
)
-- copy values
impscale =
spnImpScale.value
impscale =
1.0/BF2_GetUnitMultiplier()
-- import
try (
...
...
scripts/bf2/colmeshimp.ms
View file @
f624677f
-- ColMesh Importer
-- Copyright Martijn Buijs, 2008
-- http://www.bytehazard.com
-- clean up
clearlistener()
global cmImp
if cmImp != undefined do
(
closeRolloutFloater cmImp
)
g_bf2doInclude "general/misc.ms"
-- globals
global impscale
...
...
@@ -110,7 +101,7 @@ fn ReadGeomCol fp fileversion =
-- reads geom subs
fn ReadGeomSub fp fileversion geom
node
=
fn ReadGeomSub fp fileversion geom
part
=
(
-- number of geom cols (4 bytes)
local colnum = ReadLong fp
...
...
@@ -121,7 +112,7 @@ fn ReadGeomSub fp fileversion geomnode =
-- create dummy
local nonvisroot = Dummy()
nonvisroot.name = "nonvis_"
nonvisroot.parent = geom
node
nonvisroot.parent = geom
part
-- col data
for j=1 to colnum do
...
...
@@ -160,8 +151,7 @@ fn ImportColMesh filename =
local meshname = getFilenameFile filename
-- create root node
local rootnode = Dummy()
rootnode.name = "root_" + meshname
local rootnode = bf2Utils.makeL -1 ("root_bundledmesh_" + meshname)
-- file info (8 bytes)
local head = ReadLong fp
...
...
@@ -169,13 +159,38 @@ fn ImportColMesh filename =
-- chunknum (4 bytes)
local geomnum = ReadLong fp
-- create the geoms
local geom0 = bf2Utils.makeT rootnode "geom0"
local geom0lod0 = bf2Utils.makeT geom0 "lod0"
local geom1 = bf2Utils.makeT rootnode "geom1"
local geom1lod0 = bf2Utils.makeT geom1 "lod0"
local geom2 = bf2Utils.makeT rootnode "geom2"
local geom2lod0 = bf2Utils.makeT geom2 "lod0"
-- geoms (? bytest)
for i=
1
to geomnum do
for i=
0
to geomnum
- 1
do
(
local geomnode = Dummy()
geomnode.name = "geom" + ((i-1) as string)
geomnode.parent = rootnode
local partNumber
if i < 10 then
partNumber = "0" + (i as string)
else
partNumber = i as string
local geom0Part = bf2Utils.makeB geom0lod0 ("part_" + partNumber)
--geom0Part.Scale = [0.1,0.1,0.1]
local geom1Part = bf2Utils.makeB geom1lod0 ("part_" + partNumber)
--geom1Part.Scale = [0.1,0.1,0.1]
local geom2Part = bf2Utils.makeB geom2lod0 ("part_" + partNumber)
--geom2Part.Scale = [0.1,0.1,0.1]
-- subgeomnum (4 bytes)
local subgeomnum = ReadLong fp
...
...
@@ -183,7 +198,18 @@ fn ImportColMesh filename =
-- subgeoms (? bytes)
for j=1 to subgeomnum do
(
ReadGeomSub fp fileversion geomnode
if j == 1 do
(
ReadGeomSub fp fileversion geom0part
)
if j == 2 do
(
ReadGeomSub fp fileversion geom1part
)
if j == 3 do
(
ReadGeomSub fp fileversion geom2part
)
)
)
...
...
@@ -193,48 +219,15 @@ fn ImportColMesh filename =
return true
)
-- GUI
rollout rImport "ColMesh Importer"
fn bf2ColImport=
(
group "Import"
(
spinner spnImpScale "Scale " range:[0.001,1000.0,10.0]
button cmdImport "Import..." width: 140
)
on cmdImport pressed do
(
-- open file dialog
filename = getOpenFileName caption:"Import File" types:"Collision Mesh (*.collisionmesh)|*.collisionmesh|All Files (*.*)|*.*"
if filename == undefined then
(
return false
)
-- copy values
impscale = spnImpScale.value
-- import
try (
ImportColMesh filename
) catch (
messagebox "Failed, please let [FH]Remdul know!\nMail to: martijn@bytehazard.com"
)
)
)
filename = getOpenFileName caption:"Import File" types:"Collision Mesh (*.collisionmesh)|*.collisionmesh|All Files (*.*)|*.*"
if filename == undefined then
(
return false
)
rollout rAbout "About"
(
label lab1 "BF2 ColMesh Importer"
label lab2 "Version 1.2.0"
label lab3 "Copyright Martijn Buijs, 2008"
impscale = 1.0/BF2_GetUnitMultiplier()
ImportColMesh filename
)
-- floater
cmImp = newRolloutFloater "ColMesh Importer" 180 130
addRollout rImport cmImp
addRollout rAbout cmImp rolledup:true
-- END OF FILE
\ No newline at end of file
scripts/bf2/util/utility_rollout.ms
View file @
f624677f
...
...
@@ -18,6 +18,7 @@
g_bf2doInclude "util/makeLods.ms"
g_bf2doInclude "meshcheck.ms"
g_bf2doInclude "objexp.ms"
g_bf2doInclude "colmeshimp.ms"
fn bf2FixImagePaths_1 =
(
...
...
@@ -154,7 +155,7 @@ rollout rollpoe2Utils "PoE2 - Utilities" width:470 height:570
)
on btnColMesImp pressed do
(
g_
bf2
doInclude "colmeshimp.ms"
bf2
ColImport()
)
on btnSknImp pressed do
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment