support external texture
This commit is contained in:
parent
c27505b1a5
commit
fa1c5c8a30
@ -19,7 +19,9 @@ if "bpy" in locals():
|
|||||||
importlib.reload(floor_rail_uv)
|
importlib.reload(floor_rail_uv)
|
||||||
if "utils" in locals():
|
if "utils" in locals():
|
||||||
importlib.reload(utils)
|
importlib.reload(utils)
|
||||||
from . import utils, bm_import_export, floor_rail_uv
|
if "config" in locals():
|
||||||
|
importlib.reload(config)
|
||||||
|
from . import config, utils, bm_import_export, floor_rail_uv
|
||||||
|
|
||||||
# ============================================= func block
|
# ============================================= func block
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ import bpy,bmesh,bpy_extras,mathutils
|
|||||||
import pathlib,zipfile,time,os,tempfile,math
|
import pathlib,zipfile,time,os,tempfile,math
|
||||||
import struct,shutil
|
import struct,shutil
|
||||||
from bpy_extras import io_utils,node_shader_utils
|
from bpy_extras import io_utils,node_shader_utils
|
||||||
|
from . import utils, config
|
||||||
|
|
||||||
bm_current_version = 10
|
bm_current_version = 10
|
||||||
|
|
||||||
@ -230,6 +231,7 @@ def export_bm(context,filepath,export_mode, export_target, no_component_suffix):
|
|||||||
# ====================== export texture
|
# ====================== export texture
|
||||||
ftexture = open(os.path.join(tempFolder, "texture.bm"), "wb")
|
ftexture = open(os.path.join(tempFolder, "texture.bm"), "wb")
|
||||||
source_dir = os.path.dirname(bpy.data.filepath)
|
source_dir = os.path.dirname(bpy.data.filepath)
|
||||||
|
existed_texture = set()
|
||||||
|
|
||||||
for texture in textureList:
|
for texture in textureList:
|
||||||
# write finfo first
|
# write finfo first
|
||||||
@ -245,9 +247,11 @@ def export_bm(context,filepath,export_mode, export_target, no_component_suffix):
|
|||||||
if (is_external_texture(filename)):
|
if (is_external_texture(filename)):
|
||||||
write_int(ftexture, 1)
|
write_int(ftexture, 1)
|
||||||
else:
|
else:
|
||||||
# copy internal texture
|
# copy internal texture, if this file is copied, do not copy it again
|
||||||
write_int(ftexture, 0)
|
write_int(ftexture, 0)
|
||||||
|
if filename not in existed_texture:
|
||||||
shutil.copy(texture_filepath, os.path.join(tempTextureFolder, filename))
|
shutil.copy(texture_filepath, os.path.join(tempTextureFolder, filename))
|
||||||
|
existed_texture.add(filename)
|
||||||
|
|
||||||
ftexture.close()
|
ftexture.close()
|
||||||
|
|
||||||
@ -280,7 +284,10 @@ def get_component_id(name):
|
|||||||
return -1 # todo: finish this, -1 mean not a component
|
return -1 # todo: finish this, -1 mean not a component
|
||||||
|
|
||||||
def is_external_texture(name):
|
def is_external_texture(name):
|
||||||
return False # todo: finish this. external mean no copy file
|
if name in config.external_texture_list:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
def mesh_triangulate(me):
|
def mesh_triangulate(me):
|
||||||
bm = bmesh.new()
|
bm = bmesh.new()
|
||||||
|
85
ballance_blender_plugin/config.py
Normal file
85
ballance_blender_plugin/config.py
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
external_texture_list = set([
|
||||||
|
'Ball_LightningSphere1.bmp',
|
||||||
|
'Ball_LightningSphere2.bmp',
|
||||||
|
'Ball_LightningSphere3.bmp',
|
||||||
|
'Ball_Paper.bmp',
|
||||||
|
'Ball_Stone.bmp',
|
||||||
|
'Ball_Wood.bmp',
|
||||||
|
'Brick.bmp',
|
||||||
|
'Button01_deselect.tga',
|
||||||
|
'Button01_select.tga',
|
||||||
|
'Button01_special.tga',
|
||||||
|
'Column_beige.bmp',
|
||||||
|
'Column_beige_fade.tga',
|
||||||
|
'Column_blue.bmp',
|
||||||
|
'Cursor.tga',
|
||||||
|
'Dome.bmp',
|
||||||
|
'DomeEnvironment.bmp',
|
||||||
|
'DomeShadow.tga',
|
||||||
|
'ExtraBall.bmp',
|
||||||
|
'ExtraParticle.bmp',
|
||||||
|
'E_Holzbeschlag.bmp',
|
||||||
|
'FloorGlow.bmp',
|
||||||
|
'Floor_Side.bmp',
|
||||||
|
'Floor_Top_Border.bmp',
|
||||||
|
'Floor_Top_Borderless.bmp',
|
||||||
|
'Floor_Top_Checkpoint.bmp',
|
||||||
|
'Floor_Top_Flat.bmp',
|
||||||
|
'Floor_Top_Profil.bmp',
|
||||||
|
'Floor_Top_ProfilFlat.bmp',
|
||||||
|
'Font_1.tga',
|
||||||
|
'Gravitylogo_intro.bmp',
|
||||||
|
'HardShadow.bmp',
|
||||||
|
'Laterne_Glas.bmp',
|
||||||
|
'Laterne_Schatten.tga',
|
||||||
|
'Laterne_Verlauf.tga',
|
||||||
|
'Logo.bmp',
|
||||||
|
'Metal_stained.bmp',
|
||||||
|
'Misc_Ufo.bmp',
|
||||||
|
'Misc_UFO_Flash.bmp',
|
||||||
|
'Modul03_Floor.bmp',
|
||||||
|
'Modul03_Wall.bmp',
|
||||||
|
'Modul11_13_Wood.bmp',
|
||||||
|
'Modul11_Wood.bmp',
|
||||||
|
'Modul15.bmp',
|
||||||
|
'Modul16.bmp',
|
||||||
|
'Modul18.bmp',
|
||||||
|
'Modul18_Gitter.tga',
|
||||||
|
'Modul30_d_Seiten.bmp',
|
||||||
|
'Particle_Flames.bmp',
|
||||||
|
'Particle_Smoke.bmp',
|
||||||
|
'PE_Bal_balloons.bmp',
|
||||||
|
'PE_Bal_platform.bmp',
|
||||||
|
'PE_Ufo_env.bmp',
|
||||||
|
'Pfeil.tga',
|
||||||
|
'P_Extra_Life_Oil.bmp',
|
||||||
|
'P_Extra_Life_Particle.bmp',
|
||||||
|
'P_Extra_Life_Shadow.bmp',
|
||||||
|
'Rail_Environment.bmp',
|
||||||
|
'sandsack.bmp',
|
||||||
|
'SkyLayer.bmp',
|
||||||
|
'Sky_Vortex.bmp',
|
||||||
|
'Stick_Bottom.tga',
|
||||||
|
'Stick_Stripes.bmp',
|
||||||
|
'Target.bmp',
|
||||||
|
'Tower_Roof.bmp',
|
||||||
|
'Trafo_Environment.bmp',
|
||||||
|
'Trafo_FlashField.bmp',
|
||||||
|
'Trafo_Shadow_Big.tga',
|
||||||
|
'Tut_Pfeil01.tga',
|
||||||
|
'Tut_Pfeil_Hoch.tga',
|
||||||
|
'Wolken_intro.tga',
|
||||||
|
'Wood_Metal.bmp',
|
||||||
|
'Wood_MetalStripes.bmp',
|
||||||
|
'Wood_Misc.bmp',
|
||||||
|
'Wood_Nailed.bmp',
|
||||||
|
'Wood_Old.bmp',
|
||||||
|
'Wood_Panel.bmp',
|
||||||
|
'Wood_Plain.bmp',
|
||||||
|
'Wood_Plain2.bmp',
|
||||||
|
'Wood_Raft.bmp'
|
||||||
|
])
|
||||||
|
|
||||||
|
component_list = [
|
||||||
|
|
||||||
|
]
|
Loading…
Reference in New Issue
Block a user