Fix copying original bytes in dynamic patches

This commit is contained in:
aixxe 2024-04-28 23:40:26 +01:00 committed by Will
parent 8d0278c69a
commit 6c701e8310

View File

@ -210,8 +210,8 @@ class DynamicPatch {
replace(file, offset,
new TextEncoder().encode(featureOn? patch.on : patch.off));
} else {
patch.on = patch.on.map((patch, idx) => patch === 'XX' ? file[offset + idx] : patch);
patch.off = patch.off.map((patch, idx) => patch === 'XX' ? file[offset + idx] : patch);
patch.on = patch.on.map((byte, idx) => byte === 'XX' ? file[offset + idx] : byte);
patch.off = patch.off.map((byte, idx) => byte === 'XX' ? file[offset + idx] : byte);
replace(file, offset,
featureOn? patch.on : patch.off);
}
@ -221,8 +221,8 @@ class DynamicPatch {
replace(file, patch.offset,
new TextEncoder().encode(featureOn? patch.on : patch.off));
} else {
patch.on = patch.on.map((patch, idx) => patch === 'XX' ? file[patch.offset + idx] : patch);
patch.off = patch.off.map((patch, idx) => patch === 'XX' ? file[patch.offset + idx] : patch);
patch.on = patch.on.map((byte, idx) => byte === 'XX' ? file[patch.offset + idx] : byte);
patch.off = patch.off.map((byte, idx) => byte === 'XX' ? file[patch.offset + idx] : byte);
replace(file, patch.offset,
featureOn? patch.on : patch.off);
}