mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-25 15:25:04 -04:00
b2747aa8b4
* git subrepo pull tools/asm-differ --force subrepo: subdir: "tools/asm-differ" merged: "d218cdf0" upstream: origin: "https://github.com/simonlindholm/asm-differ.git" branch: "main" commit: "d218cdf0" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/graphovl --force subrepo: subdir: "tools/graphovl" merged: "f5fe93d7" upstream: origin: "https://github.com/AngheloAlf/graphovl.git" branch: "master" commit: "f5fe93d7" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/ZAPD --force subrepo: subdir: "tools/ZAPD" merged: "e7a8a48c" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "e7a8a48c" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/graphovl --force subrepo: subdir: "tools/graphovl" merged: "d14ea084" upstream: origin: "https://github.com/AngheloAlf/graphovl.git" branch: "master" commit: "d14ea084" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/ZAPD --force subrepo: subdir: "tools/ZAPD" merged: "e243634e" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "e243634e" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/decomp-permuter --force subrepo: subdir: "tools/decomp-permuter" merged: "d1294dfa0" upstream: origin: "https://github.com/simonlindholm/decomp-permuter.git" branch: "main" commit: "d1294dfa0" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/graphovl --force subrepo: subdir: "tools/graphovl" merged: "f5fe93d75" upstream: origin: "https://github.com/AngheloAlf/graphovl.git" branch: "master" commit: "f5fe93d75" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull tools/ZAPD --force subrepo: subdir: "tools/ZAPD" merged: "d0cd6b397" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "d0cd6b397" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * add ExternalXMLFolder config * git subrepo pull --force tools/decomp-permuter subrepo: subdir: "tools/decomp-permuter" merged: "a20bac942" upstream: origin: "https://github.com/simonlindholm/decomp-permuter.git" branch: "main" commit: "a20bac942" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull --force tools/ZAPD subrepo: subdir: "tools/ZAPD" merged: "4f7b8393e" upstream: origin: "https://github.com/zeldaret/ZAPD.git" branch: "master" commit: "4f7b8393e" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * git subrepo pull --force tools/asm-differ subrepo: subdir: "tools/asm-differ" merged: "f30d43ace" upstream: origin: "https://github.com/simonlindholm/asm-differ.git" branch: "main" commit: "f30d43ace" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo.git" commit: "2f68596" * Remove Segment="128"
80 lines
2.4 KiB
C++
80 lines
2.4 KiB
C++
#include <CollisionExporter.h>
|
|
#include <Globals.h>
|
|
#include <RoomExporter.h>
|
|
#include <TextureExporter.h>
|
|
|
|
enum class ExporterFileMode
|
|
{
|
|
ModeExample1 = (int)ZFileMode::Custom + 1,
|
|
ModeExample2 = (int)ZFileMode::Custom + 2,
|
|
ModeExample3 = (int)ZFileMode::Custom + 3,
|
|
};
|
|
|
|
static void ExporterParseFileMode(const std::string& buildMode, ZFileMode& fileMode)
|
|
{
|
|
if (buildMode == "me1")
|
|
fileMode = (ZFileMode)ExporterFileMode::ModeExample1;
|
|
else if (buildMode == "me2")
|
|
fileMode = (ZFileMode)ExporterFileMode::ModeExample2;
|
|
else if (buildMode == "me3")
|
|
fileMode = (ZFileMode)ExporterFileMode::ModeExample3;
|
|
}
|
|
|
|
static void ExporterParseArgs([[maybe_unused]] int argc, char* argv[], int& i)
|
|
{
|
|
std::string arg = argv[i];
|
|
|
|
if (arg == "--do-x")
|
|
{
|
|
}
|
|
else if (arg == "--do-y")
|
|
{
|
|
}
|
|
}
|
|
|
|
static bool ExporterProcessFileMode(ZFileMode fileMode)
|
|
{
|
|
// Do whatever work is associated with these custom file modes...
|
|
// Return true to indicate one of our own file modes is being processed
|
|
if (fileMode == (ZFileMode)ExporterFileMode::ModeExample1)
|
|
return true;
|
|
else if (fileMode == (ZFileMode)ExporterFileMode::ModeExample2)
|
|
return true;
|
|
else if (fileMode == (ZFileMode)ExporterFileMode::ModeExample3)
|
|
return true;
|
|
|
|
return false;
|
|
}
|
|
|
|
static void ExporterFileBegin(ZFile* file)
|
|
{
|
|
printf("ExporterFileBegin() called on ZFile %s.\n", file->GetName().c_str());
|
|
}
|
|
|
|
static void ExporterFileEnd(ZFile* file)
|
|
{
|
|
printf("ExporterFileEnd() called on ZFile %s.\n", file->GetName().c_str());
|
|
}
|
|
|
|
static void ImportExporters()
|
|
{
|
|
// In this example we set up a new exporter called "EXAMPLE".
|
|
// By running ZAPD with the argument -se EXAMPLE, we tell it that we want to use this exporter
|
|
// for our resources.
|
|
ExporterSet* exporterSet = new ExporterSet();
|
|
exporterSet->processFileModeFunc = ExporterProcessFileMode;
|
|
exporterSet->parseFileModeFunc = ExporterParseFileMode;
|
|
exporterSet->parseArgsFunc = ExporterParseArgs;
|
|
exporterSet->beginFileFunc = ExporterFileBegin;
|
|
exporterSet->endFileFunc = ExporterFileEnd;
|
|
exporterSet->exporters[ZResourceType::Texture] = new ExporterExample_Texture();
|
|
exporterSet->exporters[ZResourceType::Room] = new ExporterExample_Room();
|
|
exporterSet->exporters[ZResourceType::CollisionHeader] = new ExporterExample_Collision();
|
|
|
|
Globals::AddExporter("EXAMPLE", exporterSet);
|
|
}
|
|
|
|
// When ZAPD starts up, it will automatically call the below function, which in turn sets up our
|
|
// exporters.
|
|
REGISTER_EXPORTER(ImportExporters);
|