Browse Source

support new multifile-packaged softimage databases

David Rose 22 years ago
parent
commit
5fd9b15b02
2 changed files with 20 additions and 0 deletions
  1. 2 0
      dtool/pptempl/Global.pp
  2. 18 0
      dtool/pptempl/Template.models.pp

+ 2 - 0
dtool/pptempl/Global.pp

@@ -569,6 +569,8 @@ Warning: Variable $[upcase $[tree]]_INSTALL is not set!
 #define language_egg_filters $[language_filters:%=%.egg]
 #define language_dna_filters $[language_filters:%=%.dna]
 
+// This is used for evaluating SoftImage unpack rules in Template.models.pp.
+#defer soft_scene_file $[DATABASE]/SCENES/$[SCENE_PREFIX]$[MODEL].1-0.dsc
 
 // Include the global definitions for this particular build_type, if
 // the file is there.

+ 18 - 0
dtool/pptempl/Template.models.pp

@@ -42,6 +42,8 @@
 
 #defer source_prefix $[SOURCE_DIR:%=%/]
 
+#map soft_scenes soft_scene_file(soft_char_egg)
+
 #define build_models \
    $[SOURCES(flt_egg):%.flt=%.egg] \
    $[patsubst %.lwo %.LWO,%.egg,$[SOURCES(lwo_egg)]] \
@@ -134,6 +136,8 @@ pal : $[if $[pal_egg_targets],$[pal_egg_dir]] $[pal_egg_targets]
 
 bam : pal $[if $[bam_targets],$[bam_dir]] $[bam_targets]
 
+unpack-soft : $[soft_scenes]
+
 #define install_bam_targets \
     $[install_egg_dirs] \
     $[installed_generic_bams] $[installed_language_bams]
@@ -268,6 +272,14 @@ $[TAB]maya2egg $[MAYA2EGG_OPTS] -a chan -cn "$[CHAR_NAME]" -o $[target] -sf $[be
   #end anim
 #end maya_char_egg
 
+// Unpack the Soft scene database from its multifile.
+#formap scene_file soft_scenes
+  #define target $[scene_file]
+  #define source $[DATABASE]/$[SCENE_PREFIX]$[MODEL].mf
+$[target] : $[source]
+$[TAB]multify xvf $[source] -C $[DATABASE]
+#end scene_file
+
 // Egg character model generation from Soft databases.
 #forscopes soft_char_egg
   #if $[POLY_MODEL]
@@ -568,6 +580,7 @@ clean-bam : $[subdirs:%=clean-bam-%]
 clean-pal : $[subdirs:%=clean-pal-%]
 clean : $[subdirs:%=clean-%]
 cleanall : $[subdirs:%=cleanall-%]
+unpack-soft : $[subdirs:%=unpack-soft-%]
 install-bam : egg pal repal $[subdirs:%=install-bam-%]
 install-other : $[subdirs:%=install-other-%]
 install : egg pal repal $[subdirs:%=install-%]
@@ -668,6 +681,11 @@ cleanall-$[dirname] :
 $[TAB]cd ./$[RELDIR] && $(MAKE) cleanall
 #end dirname
 
+#formap dirname subdirs
+unpack-soft-$[dirname] :
+$[TAB]cd ./$[RELDIR] && $(MAKE) unpack-soft
+#end dirname
+
 #formap dirname subdirs
 install-bam-$[dirname] :
 $[TAB]cd ./$[RELDIR] && $(MAKE) install-bam