Added: #1440 Initial tool to fix asset paths
--HG-- branch : build_pipeline_v3hg/feature/build_pipeline_v3
parent
dd50972c0c
commit
80e17db602
@ -0,0 +1,172 @@
|
||||
Scene Graph
|
||||
Version R3
|
||||
|
||||
<ptr=0x0000000002563570> Root Node [8] {
|
||||
0: <ptr=0x000000000274fc00> TR_HOF_civil01_armpad [0] {
|
||||
Object: <ptr=0x000000000272a560> OSM Derived }
|
||||
1: <ptr=0x000000000277ed40> TR_HOF_civil01_gilet [0] {
|
||||
Object: <ptr=0x0000000002765250> OSM Derived }
|
||||
2: <ptr=0x00000000027aaa60> TR_HOF_Civil01_bottes [0] {
|
||||
Object: <ptr=0x000000000278da90> OSM Derived }
|
||||
3: <ptr=0x00000000027e4cc0> TR_HOF_civil01_pantabottes [0] {
|
||||
Object: <ptr=0x00000000027c2900> OSM Derived }
|
||||
4: <ptr=0x00000000027f29b0> Bip01 [3] {
|
||||
Object: <ptr=0x00000000027f2710> Biped Object
|
||||
0: <ptr=0x00000000027f37a0> Bip01 Footsteps [0] {
|
||||
Object: <ptr=0x00000000027f3500> Biped Object }
|
||||
1: <ptr=0x00000000027f4710> Bip01 Pelvis [3] {
|
||||
Object: <ptr=0x00000000027f4470> Biped Object
|
||||
0: <ptr=0x00000000027f5620> Bip01 Spine [1] {
|
||||
Object: <ptr=0x00000000027f5380> Biped Object
|
||||
0: <ptr=0x00000000027f6530> Bip01 Spine1 [1] {
|
||||
Object: <ptr=0x00000000027f6290> Biped Object
|
||||
0: <ptr=0x00000000027f7440> Bip01 Spine2 [1] {
|
||||
Object: <ptr=0x00000000027f71a0> Biped Object
|
||||
0: <ptr=0x00000000027f8350> Bip01 Neck [3] {
|
||||
Object: <ptr=0x00000000027f80b0> Biped Object
|
||||
0: <ptr=0x00000000027f9260> Bip01 Head [2] {
|
||||
Object: <ptr=0x00000000027f8fc0> Biped Object
|
||||
0: <ptr=0x00000000027fa1c0> Bip01 Head [0] {
|
||||
Object: <ptr=0x00000000027f9ed0> Dummy }
|
||||
1: <ptr=0x00000000027fb0d0> Bip01 hair1 [1] {
|
||||
Object: <ptr=0x00000000027fae30> Biped Object
|
||||
0: <ptr=0x00000000027fbfe0> Bip01 hair11 [1] {
|
||||
Object: <ptr=0x00000000027fbd40> Biped Object
|
||||
0: <ptr=0x00000000027fcf40> Bip01 hair1 [0] {
|
||||
Object: <ptr=0x00000000027fcc50> Dummy } } } }
|
||||
1: <ptr=0x00000000027fde50> Bip01 L Clavicle [1] {
|
||||
Object: <ptr=0x00000000027fdbb0> Biped Object
|
||||
0: <ptr=0x00000000027fed70> Bip01 L UpperArm [1] {
|
||||
Object: <ptr=0x00000000027fead0> Biped Object
|
||||
0: <ptr=0x00000000027ffc90> Bip01 L Forearm [2] {
|
||||
Object: <ptr=0x00000000027ff9f0> Biped Object
|
||||
0: <ptr=0x0000000002800ba0> Bip01 L Hand [6] {
|
||||
Object: <ptr=0x0000000002800900> Biped Object
|
||||
0: <ptr=0x0000000002801ab0> Bip01 L Finger0 [1] {
|
||||
Object: <ptr=0x0000000002801810> Biped Object
|
||||
0: <ptr=0x00000000028029c0> Bip01 L Finger01 [1] {
|
||||
Object: <ptr=0x0000000002802720> Biped Object
|
||||
0: <ptr=0x00000000028038e0> Bip01 L Finger02 [1] {
|
||||
Object: <ptr=0x0000000002803640> Biped Object
|
||||
0: <ptr=0x0000000002804850> Bip01 L Finger0 [0] {
|
||||
Object: <ptr=0x0000000002804560> Dummy } } } }
|
||||
1: <ptr=0x0000000002805760> Bip01 L Finger1 [1] {
|
||||
Object: <ptr=0x00000000028054c0> Biped Object
|
||||
0: <ptr=0x0000000002806670> Bip01 L Finger11 [1] {
|
||||
Object: <ptr=0x00000000028063d0> Biped Object
|
||||
0: <ptr=0x0000000002807590> Bip01 L Finger12 [1] {
|
||||
Object: <ptr=0x00000000028072f0> Biped Object
|
||||
0: <ptr=0x0000000002808500> Bip01 L Finger1 [0] {
|
||||
Object: <ptr=0x0000000002808210> Dummy } } } }
|
||||
2: <ptr=0x0000000002809410> Bip01 L Finger2 [1] {
|
||||
Object: <ptr=0x0000000002809170> Biped Object
|
||||
0: <ptr=0x000000000280a320> Bip01 L Finger21 [1] {
|
||||
Object: <ptr=0x000000000280a080> Biped Object
|
||||
0: <ptr=0x000000000280b240> Bip01 L Finger22 [1] {
|
||||
Object: <ptr=0x000000000280afa0> Biped Object
|
||||
0: <ptr=0x000000000280c1b0> Bip01 L Finger2 [0] {
|
||||
Object: <ptr=0x000000000280bec0> Dummy } } } }
|
||||
3: <ptr=0x000000000280d0c0> Bip01 L Finger3 [1] {
|
||||
Object: <ptr=0x000000000280ce20> Biped Object
|
||||
0: <ptr=0x000000000280dfd0> Bip01 L Finger31 [1] {
|
||||
Object: <ptr=0x000000000280dd30> Biped Object
|
||||
0: <ptr=0x000000000280eef0> Bip01 L Finger32 [1] {
|
||||
Object: <ptr=0x000000000280ec50> Biped Object
|
||||
0: <ptr=0x000000000280fe60> Bip01 L Finger3 [0] {
|
||||
Object: <ptr=0x000000000280fb70> Dummy } } } }
|
||||
4: <ptr=0x0000000002810d70> Bip01 L Finger4 [1] {
|
||||
Object: <ptr=0x0000000002810ad0> Biped Object
|
||||
0: <ptr=0x0000000002811c80> Bip01 L Finger41 [1] {
|
||||
Object: <ptr=0x00000000028119e0> Biped Object
|
||||
0: <ptr=0x0000000002812ba0> Bip01 L Finger42 [1] {
|
||||
Object: <ptr=0x0000000002812900> Biped Object
|
||||
0: <ptr=0x0000000002813b10> Bip01 L Finger4 [0] {
|
||||
Object: <ptr=0x0000000002813820> Dummy } } } }
|
||||
5: <ptr=0x0000000002816dc0> box_arme_gauche [0] {
|
||||
Object: <ptr=0x00000000028155b0> Editable Mesh } }
|
||||
1: <ptr=0x0000000002819ff0> Box_bouclier [0] {
|
||||
Object: <ptr=0x00000000028188c0> Editable Mesh } } } }
|
||||
2: <ptr=0x000000000281af60> Bip01 R Clavicle [1] {
|
||||
Object: <ptr=0x000000000281acc0> Biped Object
|
||||
0: <ptr=0x000000000281be80> Bip01 R UpperArm [1] {
|
||||
Object: <ptr=0x000000000281bbe0> Biped Object
|
||||
0: <ptr=0x000000000281cda0> Bip01 R Forearm [1] {
|
||||
Object: <ptr=0x000000000281cb00> Biped Object
|
||||
0: <ptr=0x000000000281dcb0> Bip01 R Hand [6] {
|
||||
Object: <ptr=0x000000000281da10> Biped Object
|
||||
0: <ptr=0x000000000281ebc0> Bip01 R Finger0 [1] {
|
||||
Object: <ptr=0x000000000281e920> Biped Object
|
||||
0: <ptr=0x000000000281fad0> Bip01 R Finger01 [1] {
|
||||
Object: <ptr=0x000000000281f830> Biped Object
|
||||
0: <ptr=0x00000000028209f0> Bip01 R Finger02 [1] {
|
||||
Object: <ptr=0x0000000002820750> Biped Object
|
||||
0: <ptr=0x0000000002821960> Bip01 R Finger0R [0] {
|
||||
Object: <ptr=0x0000000002821670> Dummy } } } }
|
||||
1: <ptr=0x0000000002822880> Bip01 R Finger1 [1] {
|
||||
Object: <ptr=0x00000000028225e0> Biped Object
|
||||
0: <ptr=0x0000000002823790> Bip01 R Finger11 [1] {
|
||||
Object: <ptr=0x00000000028234f0> Biped Object
|
||||
0: <ptr=0x00000000028246b0> Bip01 R Finger12 [1] {
|
||||
Object: <ptr=0x0000000002824410> Biped Object
|
||||
0: <ptr=0x0000000002825620> Bip01 R Finger1R [0] {
|
||||
Object: <ptr=0x0000000002825330> Dummy } } } }
|
||||
2: <ptr=0x0000000002826540> Bip01 R Finger2 [1] {
|
||||
Object: <ptr=0x00000000028262a0> Biped Object
|
||||
0: <ptr=0x0000000002827450> Bip01 R Finger21 [1] {
|
||||
Object: <ptr=0x00000000028271b0> Biped Object
|
||||
0: <ptr=0x0000000002828370> Bip01 R Finger22 [1] {
|
||||
Object: <ptr=0x00000000028280d0> Biped Object
|
||||
0: <ptr=0x00000000028292e0> Bip01 R Finger2R [0] {
|
||||
Object: <ptr=0x0000000002828ff0> Dummy } } } }
|
||||
3: <ptr=0x000000000282a200> Bip01 R Finger3 [1] {
|
||||
Object: <ptr=0x0000000002829f60> Biped Object
|
||||
0: <ptr=0x000000000282b110> Bip01 R Finger31 [1] {
|
||||
Object: <ptr=0x000000000282ae70> Biped Object
|
||||
0: <ptr=0x000000000282c030> Bip01 R Finger32 [1] {
|
||||
Object: <ptr=0x000000000282bd90> Biped Object
|
||||
0: <ptr=0x000000000282cfa0> Bip01 R Finger3R [0] {
|
||||
Object: <ptr=0x000000000282ccb0> Dummy } } } }
|
||||
4: <ptr=0x000000000282dec0> Bip01 R Finger4 [1] {
|
||||
Object: <ptr=0x000000000282dc20> Biped Object
|
||||
0: <ptr=0x000000000282edd0> Bip01 R Finger41 [1] {
|
||||
Object: <ptr=0x000000000282eb30> Biped Object
|
||||
0: <ptr=0x000000000282fcf0> Bip01 R Finger42 [1] {
|
||||
Object: <ptr=0x000000000282fa50> Biped Object
|
||||
0: <ptr=0x0000000002830c60> Bip01 R Finger4R [0] {
|
||||
Object: <ptr=0x0000000002830970> Dummy } } } }
|
||||
5: <ptr=0x0000000002833e40> box_arme [0] {
|
||||
Object: <ptr=0x0000000002832710> Editable Mesh } } } } } } } } }
|
||||
1: <ptr=0x0000000002834d50> Bip01 L Thigh [1] {
|
||||
Object: <ptr=0x0000000002834ab0> Biped Object
|
||||
0: <ptr=0x0000000002835c60> Bip01 L Calf [1] {
|
||||
Object: <ptr=0x00000000028359c0> Biped Object
|
||||
0: <ptr=0x0000000002836b70> Bip01 L Foot [1] {
|
||||
Object: <ptr=0x00000000028368d0> Biped Object
|
||||
0: <ptr=0x0000000002837a80> Bip01 L Toe0 [1] {
|
||||
Object: <ptr=0x00000000028377e0> Biped Object
|
||||
0: <ptr=0x00000000028389e0> Bip01 L Toe0 [0] {
|
||||
Object: <ptr=0x00000000028386f0> Dummy } } } } }
|
||||
2: <ptr=0x00000000028398f0> Bip01 R Thigh [1] {
|
||||
Object: <ptr=0x0000000002839650> Biped Object
|
||||
0: <ptr=0x000000000283a800> Bip01 R Calf [1] {
|
||||
Object: <ptr=0x000000000283a560> Biped Object
|
||||
0: <ptr=0x000000000283b770> Bip01 R Foot [1] {
|
||||
Object: <ptr=0x000000000283b4d0> Biped Object
|
||||
0: <ptr=0x000000000283c680> Bip01 R Toe0 [1] {
|
||||
Object: <ptr=0x000000000283c3e0> Biped Object
|
||||
0: <ptr=0x000000000283d5e0> Bip01 R Toe0 [0] {
|
||||
Object: <ptr=0x000000000283d2f0> Dummy } } } } } }
|
||||
2: <ptr=0x000000000283f190> name [0] {
|
||||
Object: <ptr=0x000000000283eea0> Dummy } }
|
||||
5: <ptr=0x0000000002a232a0> visage01 [0] {
|
||||
Object: <ptr=0x00000000029ffaf0> OSM Derived }
|
||||
6: <ptr=0x0000000002a51950> Object02 [0] {
|
||||
Object: <ptr=0x0000000002a31c90> OSM Derived }
|
||||
7: <ptr=0x0000000002c11910> TR_HOF_underwear_hand [0] {
|
||||
Object: <ptr=0x0000000002bf4fa0> OSM Derived } }
|
||||
|
||||
|
||||
------------------
|
||||
(program exited with code: 0)
|
||||
Press return to continue
|
||||
|
@ -0,0 +1,36 @@
|
||||
|
||||
FIND_PACKAGE(LIBGSF)
|
||||
|
||||
IF (NOT (LIBGSF_INCLUDE_DIR AND LIBGSF_LIBRARIES))
|
||||
MESSAGE(FATAL_ERROR "LIBGSF not found!")
|
||||
ENDIF (NOT (LIBGSF_INCLUDE_DIR AND LIBGSF_LIBRARIES))
|
||||
|
||||
FIND_PACKAGE(GLIB2)
|
||||
|
||||
if (NOT GLIB2_FOUND)
|
||||
MESSAGE(FATAL_ERROR "GLIB2 not found!")
|
||||
ENDIF (NOT GLIB2_FOUND)
|
||||
|
||||
INCLUDE_DIRECTORIES(${GLIB2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES(${LIBGSF_INCLUDE_DIR})
|
||||
|
||||
FILE(GLOB SRCS *.cpp)
|
||||
FILE(GLOB HDRS *.h)
|
||||
|
||||
ADD_EXECUTABLE(pipeline_max_rewrite_assets
|
||||
${SRCS}
|
||||
${HDRS}
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(pipeline_max_rewrite_assets
|
||||
${LIBGSF_LIBRARIES}
|
||||
${GLIB2_LIBRARIES}
|
||||
pipeline_max
|
||||
nelmisc
|
||||
)
|
||||
|
||||
NL_DEFAULT_PROPS(pipeline_max_dump "NeL, Tools, Pipeline: Max Rewrite Assets")
|
||||
NL_ADD_RUNTIME_FLAGS(pipeline_max_rewrite_assets)
|
||||
|
||||
INSTALL(TARGETS pipeline_max_rewrite_assets RUNTIME DESTINATION bin COMPONENT toolsmisc)
|
||||
|
@ -0,0 +1,248 @@
|
||||
|
||||
#include <nel/misc/types_nl.h>
|
||||
#include <nel/misc/common.h>
|
||||
|
||||
#include <gsf/gsf-outfile-msole.h>
|
||||
#include <gsf/gsf-outfile.h>
|
||||
#include <gsf/gsf-output-stdio.h>
|
||||
#include <gsf/gsf-infile-msole.h>
|
||||
#include <gsf/gsf-infile.h>
|
||||
#include <gsf/gsf-input-stdio.h>
|
||||
#include <gsf/gsf-utils.h>
|
||||
#include <gsf/gsf-doc-meta-data.h>
|
||||
#include <gsf/gsf-msole-utils.h>
|
||||
#include <glib/gi18n.h>
|
||||
#include <string.h>
|
||||
#include <cstdio>
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
|
||||
#include <vector>
|
||||
#include <utility>
|
||||
|
||||
#include <nel/misc/file.h>
|
||||
#include <nel/misc/vector.h>
|
||||
|
||||
#include "../max/storage_stream.h"
|
||||
#include "../max/storage_object.h"
|
||||
#include "../max/dll_directory.h"
|
||||
#include "../max/class_directory_3.h"
|
||||
#include "../max/class_data.h"
|
||||
#include "../max/config.h"
|
||||
#include "../max/scene.h"
|
||||
#include "../max/scene_class_registry.h"
|
||||
|
||||
// Testing
|
||||
#include "../max/builtin/builtin.h"
|
||||
#include "../max/update1/update1.h"
|
||||
#include "../max/epoly/epoly.h"
|
||||
|
||||
#include "../max/builtin/storage/app_data.h"
|
||||
#include "../max/builtin/storage/geom_buffers.h"
|
||||
#include "../max/builtin/scene_impl.h"
|
||||
#include "../max/builtin/i_node.h"
|
||||
#include "../max/update1/editable_mesh.h"
|
||||
#include "../max/epoly/editable_poly.h"
|
||||
|
||||
using namespace PIPELINE::MAX;
|
||||
using namespace PIPELINE::MAX::BUILTIN;
|
||||
using namespace PIPELINE::MAX::BUILTIN::STORAGE;
|
||||
using namespace PIPELINE::MAX::UPDATE1;
|
||||
using namespace PIPELINE::MAX::EPOLY;
|
||||
|
||||
CSceneClassRegistry SceneClassRegistry;
|
||||
|
||||
bool DisplayStream = false;
|
||||
bool WriteModified = false;
|
||||
bool WriteDummy = true;
|
||||
|
||||
void serializeStorageContainer(PIPELINE::MAX::CStorageContainer *storageContainer, GsfInfile *infile, const char *streamName)
|
||||
{
|
||||
GsfInput *input = gsf_infile_child_by_name(infile, streamName);
|
||||
if (!input)
|
||||
{
|
||||
nlerror("GSF Could not read stream %s", streamName);
|
||||
return;
|
||||
}
|
||||
{
|
||||
PIPELINE::MAX::CStorageStream instream(input);
|
||||
storageContainer->serial(instream);
|
||||
}
|
||||
g_object_unref(input);
|
||||
}
|
||||
|
||||
void serializeStorageContainer(PIPELINE::MAX::CStorageContainer *storageContainer, GsfOutfile *outfile, const char *streamName)
|
||||
{
|
||||
//nldebug("write");
|
||||
GsfOutput *output = GSF_OUTPUT(gsf_outfile_new_child(outfile, streamName, false));
|
||||
if (!output)
|
||||
{
|
||||
nlerror("GSF Could not write stream %s", streamName);
|
||||
return;
|
||||
}
|
||||
{
|
||||
PIPELINE::MAX::CStorageStream outstream(output);
|
||||
storageContainer->serial(outstream);
|
||||
}
|
||||
gsf_output_close(output);
|
||||
g_object_unref(G_OBJECT(output));
|
||||
}
|
||||
|
||||
void serializeRaw(std::vector<uint8> &rawOutput, GsfInfile *infile, const char *streamName)
|
||||
{
|
||||
GsfInput *input = gsf_infile_child_by_name(infile, streamName);
|
||||
if (!input)
|
||||
{
|
||||
nlerror("GSF Could not read stream %s", streamName);
|
||||
return;
|
||||
}
|
||||
{
|
||||
PIPELINE::MAX::CStorageStream instream(input);
|
||||
rawOutput.resize(instream.size());
|
||||
instream.serialBuffer(&rawOutput[0], rawOutput.size());
|
||||
}
|
||||
g_object_unref(input);
|
||||
}
|
||||
|
||||
void serializeRaw(std::vector<uint8> &rawOutput, GsfOutfile *outfile, const char *streamName)
|
||||
{
|
||||
GsfOutput *output = GSF_OUTPUT(gsf_outfile_new_child(outfile, streamName, false));
|
||||
if (!output)
|
||||
{
|
||||
nlerror("GSF Could not write stream %s", streamName);
|
||||
return;
|
||||
}
|
||||
{
|
||||
PIPELINE::MAX::CStorageStream outstream(output);
|
||||
outstream.serialBuffer(&rawOutput[0], rawOutput.size());
|
||||
}
|
||||
gsf_output_close(output);
|
||||
g_object_unref(G_OBJECT(output));
|
||||
}
|
||||
|
||||
void handleFile(const std::string &path)
|
||||
{
|
||||
GError *err = NULL;
|
||||
|
||||
GsfDocMetaData *metadata = gsf_doc_meta_data_new();
|
||||
nlassert(metadata);
|
||||
|
||||
GsfInput *src = gsf_input_stdio_new(path.c_str(), &err);
|
||||
if (err) { nlerror("GSF Failed to open %s", path.c_str()); return; }
|
||||
|
||||
GsfInfile *infile = gsf_infile_msole_new(src, NULL);
|
||||
if (!infile) { nlerror("GSF Failed to recognize %s", path.c_str()); return; }
|
||||
g_object_unref(src);
|
||||
|
||||
uint8 classId[16];
|
||||
if (!gsf_infile_msole_get_class_id((GsfInfileMSOle *)infile, classId))
|
||||
nlerror("GSF Did not find classId");
|
||||
|
||||
PIPELINE::MAX::CStorageContainer videoPostQueue;
|
||||
serializeStorageContainer(&videoPostQueue, infile, "VideoPostQueue");
|
||||
PIPELINE::MAX::CStorageContainer config;
|
||||
serializeStorageContainer(&config, infile, "Config");
|
||||
PIPELINE::MAX::CStorageContainer classData;
|
||||
serializeStorageContainer(&classData, infile, "ClassData");
|
||||
|
||||
std::vector<uint8> summaryInformation;
|
||||
serializeRaw(summaryInformation, infile, "\05SummaryInformation");
|
||||
|
||||
std::vector<uint8> documentSummaryInformation;
|
||||
serializeRaw(documentSummaryInformation, infile, "\05DocumentSummaryInformation"); // Can't read this, don't care.
|
||||
|
||||
PIPELINE::MAX::CDllDirectory dllDirectory;
|
||||
serializeStorageContainer(&dllDirectory, infile, "DllDirectory");
|
||||
dllDirectory.parse(VersionUnknown);
|
||||
|
||||
PIPELINE::MAX::CClassDirectory3 classDirectory3(&dllDirectory);
|
||||
serializeStorageContainer(&classDirectory3, infile, "ClassDirectory3");
|
||||
classDirectory3.parse(VersionUnknown);
|
||||
|
||||
PIPELINE::MAX::CScene scene(&SceneClassRegistry, &dllDirectory, &classDirectory3);
|
||||
serializeStorageContainer(&scene, infile, "Scene");
|
||||
|
||||
/*
|
||||
// Not parsing the scene for this function.
|
||||
scene.parse(VersionUnknown);
|
||||
scene.clean();
|
||||
scene.build(VersionUnknown);
|
||||
scene.disown();
|
||||
*/
|
||||
|
||||
/*
|
||||
PIPELINE::MAX::CStorageContainer dllDirectory;
|
||||
serializeStorageContainer(&dllDirectory, infile, "DllDirectory");
|
||||
|
||||
PIPELINE::MAX::CStorageContainer classDirectory3;
|
||||
serializeStorageContainer(&classDirectory3, infile, "ClassDirectory3");
|
||||
|
||||
PIPELINE::MAX::CStorageContainer scene;
|
||||
serializeStorageContainer(&scene, infile, "Scene");
|
||||
*/
|
||||
|
||||
if (DisplayStream)
|
||||
{
|
||||
videoPostQueue.toString(std::cout);
|
||||
config.toString(std::cout);
|
||||
classData.toString(std::cout);
|
||||
dllDirectory.toString(std::cout);
|
||||
classDirectory3.toString(std::cout);
|
||||
scene.toString(std::cout);
|
||||
}
|
||||
|
||||
g_object_unref(infile);
|
||||
|
||||
dllDirectory.disown();
|
||||
classDirectory3.disown();
|
||||
if (WriteModified)
|
||||
{
|
||||
const char *outpath = (WriteDummy ? "testdummy.max" : path.c_str());
|
||||
GsfOutput *output;
|
||||
GsfOutfile *outfile;
|
||||
|
||||
output = gsf_output_stdio_new(outpath, &err);
|
||||
if (err) { nlerror("GSF Failed to create %s", outpath); return; }
|
||||
outfile = gsf_outfile_msole_new(output);
|
||||
g_object_unref(G_OBJECT(output));
|
||||
|
||||
serializeStorageContainer(&videoPostQueue, outfile, "VideoPostQueue");
|
||||
serializeStorageContainer(&scene, outfile, "Scene");
|
||||
serializeStorageContainer(&dllDirectory, outfile, "DllDirectory");
|
||||
serializeStorageContainer(&config, outfile, "Config");
|
||||
serializeStorageContainer(&classDirectory3, outfile, "ClassDirectory3");
|
||||
serializeStorageContainer(&classData, outfile, "ClassData");
|
||||
serializeRaw(summaryInformation, outfile, "\05SummaryInformation");
|
||||
serializeRaw(documentSummaryInformation, outfile, "\05DocumentSummaryInformation");
|
||||
|
||||
if (!gsf_outfile_msole_set_class_id((GsfOutfileMSOle *)outfile, classId))
|
||||
nlerror("GSF Cannot write class id");
|
||||
|
||||
gsf_output_close(GSF_OUTPUT(outfile));
|
||||
g_object_unref(G_OBJECT(outfile));
|
||||
}
|
||||
|
||||
g_object_unref(metadata);
|
||||
}
|
||||
|
||||
// int __stdcall WinMain(void *, void *, void *, int)
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
// Initialise gsf
|
||||
printf("Pipeline Max Rewrite Assets\n");
|
||||
char const *me = (argv[0] ? argv[0] : "pipeline_max_rewrite_assets");
|
||||
g_set_prgname(me);
|
||||
gsf_init();
|
||||
|
||||
// Register all plugin classes
|
||||
CBuiltin::registerClasses(&SceneClassRegistry);
|
||||
CUpdate1::registerClasses(&SceneClassRegistry);
|
||||
CEPoly::registerClasses(&SceneClassRegistry);
|
||||
|
||||
handleFile("/srv/work/database/interfaces/anims_max/cp_fy_hof_species.max");
|
||||
|
||||
gsf_shutdown();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue