bug: fix logical error in decompress loop exit

This commit is contained in:
scawful
2022-08-17 14:38:02 -04:00
parent 3cd3ebd8cb
commit 35ce31980e

View File

@@ -502,8 +502,6 @@ absl::StatusOr<Bytes> ROM::Decompress(int offset, int size, bool reversed) {
uchar cmd = 0; uchar cmd = 0;
uchar databyte = rom_data_[offset]; uchar databyte = rom_data_[offset];
while (databyte != SNES_BYTE_MAX) { // End of decompression while (databyte != SNES_BYTE_MAX) { // End of decompression
databyte = rom_data_[offset];
if ((databyte & CMD_EXPANDED_MOD) == CMD_EXPANDED_MOD) { if ((databyte & CMD_EXPANDED_MOD) == CMD_EXPANDED_MOD) {
// Expanded Command // Expanded Command
cmd = ((databyte >> 2) & CMD_MOD); cmd = ((databyte >> 2) & CMD_MOD);
@@ -579,6 +577,8 @@ absl::StatusOr<Bytes> ROM::Decompress(int offset, int size, bool reversed) {
offset, cmd); offset, cmd);
} break; } break;
} }
// check next byte
databyte = rom_data_[offset];
} }
return buffer; return buffer;