patchwork-mapconverter
Version:
Executable wrapper for https://github.com/ChiefOfGxBxL/WC3MapTranslator
75 lines • 8.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TranslatorManager = void 0;
const translators_1 = require("../wc3maptranslator/translators");
const ObjectModificationTable_1 = require("../wc3maptranslator/data/ObjectModificationTable");
const translator_1 = require("../translator");
const TranslatorManager = {
FindAppropriateTranslationMethodText2Binary: function (filename, profile) {
// World files
if (filename.endsWith('.w3e')) {
return (terrain) => translators_1.TerrainTranslator.jsonToWar(terrain, profile.w3eFormatVersion);
}
else if (filename.endsWith('Units.doo')) {
return (units) => translators_1.UnitsTranslator.jsonToWar(units, profile.unitsDooFormatVersion, profile.unitsDooFormatSubversion, profile.editorVersion);
}
else if (filename.endsWith('.doo')) {
return (doodads) => translators_1.DoodadsTranslator.jsonToWar(doodads, profile.dooFormatVersion, profile.dooFormatSubversion, profile.specialDooFormatVersion, profile.editorVersion);
}
else if (filename.endsWith('.w3r')) {
return (regions) => translators_1.RegionsTranslator.jsonToWar(regions, profile.w3rFormatVersion);
}
else if (filename.endsWith('.w3c')) {
return (cameras) => translators_1.CamerasTranslator.jsonToWar(cameras, profile.w3cFormatVersion, profile.editorVersion);
}
else if (filename.endsWith('.w3s')) {
return (sounds) => translators_1.SoundsTranslator.jsonToWar(sounds, profile.w3sFormatVersion);
}
// Object data files
else if (filename.endsWith('.w3u')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Units, profile.objectFormatVersion);
}
else if (filename.endsWith('.w3t')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Items, profile.objectFormatVersion);
}
else if (filename.endsWith('.w3a')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Abilities, profile.objectFormatVersion);
}
else if (filename.endsWith('.w3b')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Destructables, profile.objectFormatVersion);
}
else if (filename.endsWith('.w3d')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Doodads, profile.objectFormatVersion);
}
else if (filename.endsWith('.w3q')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Upgrades, profile.objectFormatVersion);
}
else if (filename.endsWith('.w3h')) {
return (objects) => translators_1.ObjectsTranslator.jsonToWar(objects, ObjectModificationTable_1.ObjectType.Buffs, profile.objectFormatVersion);
}
// Trigger files
// '.lua': IGNORED
// '.j': IGNORED
else if (filename.endsWith('.wts')) {
return translators_1.StringsTranslator.jsonToWar;
}
else if (filename.endsWith('.wtg')) {
return (triggers) => translator_1.TriggersTranslator.jsonToWar(triggers, profile.wtgFormatVersion, profile.wtgFormatSubversion);
}
else if (filename.endsWith('.wct')) {
return (scripts) => translator_1.CustomScriptsTranslator.jsonToWar(scripts, profile.wctFormatVersion);
}
// Map files
else if (filename.endsWith('.w3i')) {
return (info) => translators_1.InfoTranslator.jsonToWar(info, profile.w3iFormatVersion);
}
else if (filename.endsWith('.imp')) {
return (assets) => translators_1.AssetsTranslator.jsonToWar(assets, profile.impFormatVersion);
}
// '.wpm': IGNORED
// '.shd': IGNORED
return null;
}
};
exports.TranslatorManager = TranslatorManager;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHJhbnNsYXRvck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udmVydGVyL1RyYW5zbGF0b3JNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlFQUF1TztBQUN2Tyw4RkFBMkc7QUFFM0csOENBQTJFO0FBSTNFLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsMkNBQTJDLEVBQUUsVUFBVSxRQUFnQixFQUFFLE9BQXNCO1FBQzdGLGNBQWM7UUFDZCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQywrQkFBaUIsQ0FBQyxTQUFTLENBQUMsT0FBNkIsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUMxRyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDMUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsNkJBQWUsQ0FBQyxTQUFTLENBQUMsS0FBMEIsRUFBRSxPQUFPLENBQUMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQTtRQUNqSyxDQUFDO2FBQU0sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsK0JBQWlCLENBQUMsU0FBUyxDQUFDLE9BQWlELEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ25OLENBQUM7YUFBTSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPLENBQUMsT0FBTyxF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