fix macro x scaling cutting off data

This commit is contained in:
Eknous-P 2026-01-07 17:12:09 +04:00
parent 192bd8a5ff
commit d08ec5a889

View file

@ -8933,13 +8933,14 @@ void FurnaceGUI::drawInsEdit() {
memset(oldData,0,256*sizeof(int));
memcpy(oldData,lastMacroDesc.macro->val,lastMacroDesc.macro->len*sizeof(int));
unsigned char oldLen=lastMacroDesc.macro->len;
lastMacroDesc.macro->len=MIN(255,((double)lastMacroDesc.macro->len*(macroScaleX/100.0)));
for (int i=0; i<lastMacroDesc.macro->len; i++) {
int val=0;
bool bit30=false;
double posX=round((double)i*(100.0/macroScaleX)-0.01);
if (posX>=0 && posX<lastMacroDesc.macro->len) {
if (posX>=0 && posX<oldLen) {
val=round((double)deBit30(oldData[(int)posX])*(macroScaleY/100.0));
bit30=enBit30(oldData[(int)posX]);
if (val<lastMacroDesc.min) val=lastMacroDesc.min;