diff --git a/build.gradle b/build.gradle index 98f455f2..d2ced2a5 100644 --- a/build.gradle +++ b/build.gradle @@ -73,6 +73,7 @@ dependencies { utilityCompile project(':pswgcommon') utilityCompile sourceSets.main.output + utilityCompile group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: '1.3.50' utilityCompile group: 'org.xerial', name: 'sqlite-jdbc', version: '3.23.1' utilityCompile group: 'org.mongodb', name: 'mongo-java-driver', version: '3.6.3' utilityCompile group: 'me.joshlarson', name: "fast-json", version: '3.0.0' diff --git a/pswgcommon b/pswgcommon index 22a8a6b7..9c041be3 160000 --- a/pswgcommon +++ b/pswgcommon @@ -1 +1 @@ -Subproject commit 22a8a6b7dc8591e315ab986f8712713fc848e0f2 +Subproject commit 9c041be3efd1fd4cfab5e19a54e7992f16be99d2 diff --git a/src/utility/java/com/projectswg/utility/clientdata/ConvertTerrain.kt b/src/utility/java/com/projectswg/utility/clientdata/ConvertTerrain.kt new file mode 100644 index 00000000..31b52c6a --- /dev/null +++ b/src/utility/java/com/projectswg/utility/clientdata/ConvertTerrain.kt @@ -0,0 +1,60 @@ +/*********************************************************************************** + * Copyright (c) 2019 /// Project SWG /// www.projectswg.com * + * * + * ProjectSWG is the first NGE emulator for Star Wars Galaxies founded on * + * July 7th, 2011 after SOE announced the official shutdown of Star Wars Galaxies. * + * Our goal is to create an emulator which will provide a server for players to * + * continue playing a game similar to the one they used to play. We are basing * + * it on the final publish of the game prior to end-game events. * + * * + * This file is part of Holocore. * + * * + * --------------------------------------------------------------------------------* + * * + * Holocore is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * Holocore is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with Holocore. If not, see //www.gnu.org/licenses/>. * + */ + +package com.projectswg.utility.clientdata + +import com.projectswg.common.data.swgiff.parsers.SWGParser +import com.projectswg.common.data.swgiff.parsers.terrain.TerrainDataParser +import com.projectswg.holocore.utilities.SdbGenerator +import me.joshlarson.jlcommon.log.Log +import me.joshlarson.jlcommon.log.log_wrapper.ConsoleLogWrapper +import java.io.File +import java.io.IOException +import java.util.* + +internal class ConvertTerrain : Converter { + + override fun convert() { + println("Converting terrains...") + Log.addWrapper(ConsoleLogWrapper()) + try { + SdbGenerator(File("serverdata/terrain/terrains.sdb")).use { sdb -> + sdb.writeColumnNames("slotName", "global", "modifiable", "observeWithParent", "exposeToWorld") + convertFile(sdb, File("clientdata/terrain/tatooine.trn")) + } + } catch (e: IOException) { + e.printStackTrace() + } + } + + @Throws(IOException::class) + override fun convertFile(sdb: SdbGenerator, file: File) { + val clientdata = SWGParser.parse(file) as TerrainDataParser + Objects.requireNonNull(clientdata, "Failed to load clientdata") + + } +} diff --git a/src/utility/java/com/projectswg/utility/clientdata/Converters.java b/src/utility/java/com/projectswg/utility/clientdata/Converters.java index bf855a7f..e85523a2 100644 --- a/src/utility/java/com/projectswg/utility/clientdata/Converters.java +++ b/src/utility/java/com/projectswg/utility/clientdata/Converters.java @@ -11,6 +11,7 @@ public enum Converters { ABSTRACT_SLOT_DEFINITION (ConvertSlotDefinition::new), ABSTRACT_SLOT_DESCRIPTORS (ConvertSlotDescriptor::new), ABSTRACT_SLOT_ARRANGEMENT (ConvertSlotArrangement::new), + TERRAINS (ConvertTerrain::new), PROFESSION_TEMPLATES (ConvertProfessionTemplates::new); private final Supplier converter;