diff --git a/skel_common/backup/auto_update.json b/skel_common/backup/auto_update.json index 0695f26..185a614 100644 --- a/skel_common/backup/auto_update.json +++ b/skel_common/backup/auto_update.json @@ -11,6 +11,13 @@ "notice" : "Reminder: Return FTL to an unmodded state before upgrading SMM.\nAnd delete SMM's backups when upgrading FTL." }, "changelog" : [ + { + "version" : "1.9.2", + "hidden" : true, + "changes" : [ + "Fixed ftl.dat parsing when 0-byte resources are present" + ] + }, { "version" : "1.9.1", "hidden" : false, diff --git a/skel_common/readme_changelog.txt b/skel_common/readme_changelog.txt index a471fa3..4957b84 100644 --- a/skel_common/readme_changelog.txt +++ b/skel_common/readme_changelog.txt @@ -1,5 +1,8 @@ Changelog +1.9.2: +- Fixed ftl.dat parsing when 0-byte resources are present + 1.9.1: - Edited a comment in boilerplate mod metadata to include AE ships - Made the comments in boilerplace mod metadata optional diff --git a/src/main/java/net/vhati/ftldat/PkgPack.java b/src/main/java/net/vhati/ftldat/PkgPack.java index 423bee7..c381a7d 100644 --- a/src/main/java/net/vhati/ftldat/PkgPack.java +++ b/src/main/java/net/vhati/ftldat/PkgPack.java @@ -419,7 +419,7 @@ public class PkgPack extends AbstractPack { entry.dataSize = readBigUInt(); entry.unpackedSize = readBigUInt(); - if ( entry.dataSize == 0 ) { // Null entry, dat wasn't repacked. + if ( entry.dataOffset == 0 ) { // Null entry, dat wasn't repacked. entryList.add( null ); } else { entryList.add( entry ); @@ -434,6 +434,7 @@ public class PkgPack extends AbstractPack { for ( int i=0; i < entryCount; i++ ) { PkgEntry entry = entryList.get( i ); + if ( entry == null ) continue; bigByteBuf.position( entry.innerPathOffset ); entry.innerPath = readNullTerminatedString( bigByteBuf );