@@ -198,19 +198,20 @@ function convertLayer(layer, datamap, convertedLayers, usedLanguages, language)
198198/**
199199 * Retrieves map metadata to store in DataMaps for two-way conversion.
200200 * @param {TileMap } map Tiled map being converted to DataMaps
201- * @param {string } mapName Filename of the Tiled map
201+ * @param {string? } mapFilePath Path to the Tiled map
202202 * @returns {Metadata } Map metadata to store in DataMaps
203203 */
204- function getDataMapsMetadata ( map , mapName ) {
204+ function getDataMapsMetadata ( map , mapFilePath = null ) {
205205 const metadata = new MetadataImpl ( ) ;
206+ const mapFileName = FileInfo . completeBaseName ( FileInfo . fileName ( mapFilePath || map . fileName ) ) ;
206207 for ( const language of getLanguageCodes ( ) ) {
207208 const localizedMapName = getStringProperty ( map , 'name' , language ) ;
208209 metadata . interwiki [ language ] = new InterwikiDataImpl ( {
209- mapName : localizedMapName || mapName ,
210+ mapName : localizedMapName || mapFileName ,
210211 revision : getNumberProperty ( map , 'revision' , language ) || 0 ,
211212 } ) ;
212213 }
213- metadata . fileName = mapName ;
214+ metadata . fileName = mapFileName ;
214215 metadata . tileHeight = map . tileHeight ;
215216 metadata . tileWidth = map . tileWidth ;
216217 return metadata ;
@@ -219,11 +220,11 @@ function getDataMapsMetadata(map, mapName) {
219220/**
220221 * Converts a Tiled map to DataMaps format.
221222 * @param {TileMap } map Tiled map to convert to DataMaps
222- * @param {string } mapName Filename of the Tiled map
223223 * @param {string } language Language to use for localized properties
224+ * @param {string? } mapFilePath Path to the Tiled map
224225 * @returns {DataMap } Converted DataMap object
225226 */
226- export function convertTiledToDataMaps ( map , mapName , language = 'en' ) {
227+ export function convertTiledToDataMaps ( map , language = 'en' , mapFilePath = null ) {
227228 const /** @type {DataMap } */ datamap = {
228229 $schema : '/extensions/DataMaps/schemas/v17.3.json' ,
229230 backgrounds : [ {
@@ -239,7 +240,7 @@ export function convertTiledToDataMaps(map, mapName, language = 'en') {
239240 map . height * map . tileHeight
240241 ]
241242 } ,
242- custom : getDataMapsMetadata ( map , mapName ) ,
243+ custom : getDataMapsMetadata ( map , mapFilePath ) ,
243244 disclaimer : getStringProperty ( map , 'disclaimer' , language ) ,
244245 include : getListProperty ( map , 'include' , language ) ,
245246 markers : { } ,
@@ -287,13 +288,13 @@ export function convertTiledToDataMaps(map, mapName, language = 'en') {
287288/**
288289 * Converts a Tiled map to multiple DataMaps format for each language.
289290 * @param {TileMap } map Tiled map to convert to DataMaps
290- * @param {string } mapName Filename of the Tiled map
291+ * @param {string? } mapFilePath Path to the Tiled map
291292 * @returns {DataMaps } Converted DataMaps object
292293 */
293- export function convertTiledToMultipleDataMaps ( map , mapName ) {
294+ export function convertTiledToMultipleDataMaps ( map , mapFilePath = null ) {
294295 const datamaps = /** @type {DataMaps } */ ( { } ) ;
295296 for ( const language of getLanguageCodes ( ) ) {
296- datamaps [ language ] = convertTiledToDataMaps ( map , mapName , language ) ;
297+ datamaps [ language ] = convertTiledToDataMaps ( map , language , mapFilePath ) ;
297298 }
298299 return datamaps ;
299300}
@@ -314,16 +315,15 @@ export function writeMap(map, filePath) {
314315/**
315316 * Converts a Tiled map to DataMaps format.
316317 * @param {boolean } multiple Whether to generate a single or multiple maps
317- * @returns {(map: TileMap, filePath : string) => undefined } Function that writes the
318- * converted map to a file
318+ * @returns {(map: TileMap, mapFilePath : string) => undefined } Function that
319+ * writes the converted map to a file
319320 */
320321function generateWrite ( multiple ) {
321- return ( map , filePath ) => {
322- const mapName = FileInfo . completeBaseName ( FileInfo . fileName ( filePath ) ) ;
322+ return ( map , mapFilePath ) => {
323323 const convertedMap = multiple ?
324- convertTiledToMultipleDataMaps ( map , mapName ) :
325- convertTiledToDataMaps ( map , mapName , getLastLanguage ( ) || 'en' ) ;
326- writeMap ( convertedMap , filePath ) ;
324+ convertTiledToMultipleDataMaps ( map , mapFilePath ) :
325+ convertTiledToDataMaps ( map , getLastLanguage ( ) || 'en' , mapFilePath ) ;
326+ writeMap ( convertedMap , mapFilePath ) ;
327327 } ;
328328}
329329
0 commit comments