Skip to content

Commit

Permalink
Fix save integrity bug. Resave if it happens
Browse files Browse the repository at this point in the history
  • Loading branch information
myst6re committed Jan 20, 2024
1 parent 6be37e7 commit 76e8698
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Hyne.pro
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ if(win32|macx) {
} else {
TARGET = hyne
}
VERSION = 1.11.3
VERSION = 1.11.4

DEFINES += PROGVERSION=$$VERSION PROGNAME=Hyne

Expand Down
16 changes: 8 additions & 8 deletions SaveData.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,12 @@ QByteArray SaveData::save(bool convertAnalogConfig) const
return ret.leftJustified(SAVE_SIZE, '\x00', true);
}

quint16 checksum = calcChecksum((char *)&_mainData);//On calcule le checksum à partir de la partie gf
MAIN mainData;
memcpy(&mainData, &_mainData, sizeof(_mainData));
if (convertAnalogConfig) {
mainData.config.analog_volume = (mainData.config.analog_volume & 0x80) | 100;
}
quint16 checksum = calcChecksum((char *)&mainData);//On calcule le checksum à partir de la partie gf

ret.append("SC", 2);
ret.append(_header.at(2));// icon frames
Expand All @@ -95,9 +100,9 @@ QByteArray SaveData::save(bool convertAnalogConfig) const
ret.append("\x82\x65\x82\x65\x82\x57\x81\x6D", 8);// FF8[
ret.append(FF8Text::numToBiosText(_id+1, 2));// II
ret.append("\x81\x6E\x81\x5E", 4);// ]/
ret.append(FF8Text::numToBiosText(Config::hour(_mainData.misc2.game_time, _freqValue), 2));// HH
ret.append(FF8Text::numToBiosText(Config::hour(mainData.misc2.game_time, _freqValue), 2));// HH
ret.append("\x81\x46", 2);// :
ret.append(FF8Text::numToBiosText(Config::min(_mainData.misc2.game_time, _freqValue), 2));// MM
ret.append(FF8Text::numToBiosText(Config::min(mainData.misc2.game_time, _freqValue), 2));// MM
ret.append(_header.right(66));
} else {
ret.append(_header.right(92));
Expand All @@ -106,11 +111,6 @@ QByteArray SaveData::save(bool convertAnalogConfig) const
ret.append((char *)&checksum, 2);
ret.append("\xFF\x08", 2);
ret.append((char *)&_descData, sizeof(_descData));
MAIN mainData;
memcpy(&mainData, &_mainData, sizeof(_mainData));
if (convertAnalogConfig) {
mainData.config.analog_volume = (mainData.config.analog_volume & 0x80) | 100;
}
ret.append((char *)&mainData, sizeof(mainData));
ret.append((char *)&checksum, 2);
ret.append(QByteArray(2782,'\x00'));
Expand Down

0 comments on commit 76e8698

Please sign in to comment.