Proper calculation of edge case with number of costume frames from Quietust
svn-id: r17213
This commit is contained in:
parent
9ab0962f6d
commit
e9a28b5782
1 changed files with 4 additions and 7 deletions
|
@ -579,7 +579,6 @@ void LoadedCostume::loadNEScostume(void) {
|
|||
const byte *src;
|
||||
int frameset, framenum;
|
||||
int offset;
|
||||
byte *table;
|
||||
|
||||
_format = 0x01;
|
||||
_mirror = 0;
|
||||
|
@ -593,13 +592,11 @@ void LoadedCostume::loadNEScostume(void) {
|
|||
offset = src[(frameset * 4 + framenum) * 2];
|
||||
|
||||
// Lookup & desc
|
||||
table = _vm->_NEScostdesc;
|
||||
offset = READ_LE_UINT16(table + v1MMNESLookup[_id] * 2);
|
||||
|
||||
if (v1MMNESLookup[_id] * 2 + 2 >= READ_LE_UINT16(table - 2)) {
|
||||
_numAnim = (READ_LE_UINT16(table) - v1MMNESLookup[_id] * 2) / 2;
|
||||
offset = READ_LE_UINT16(_vm->_NEScostdesc + v1MMNESLookup[_id] * 2);
|
||||
if (v1MMNESLookup[_id] * 2 + 2 < READ_LE_UINT16(_vm->_NEScostdesc - 2)) {
|
||||
_numAnim = (READ_LE_UINT16(_vm->_NEScostdesc + v1MMNESLookup[_id] * 2 + 2) - offset);
|
||||
} else {
|
||||
_numAnim = (READ_LE_UINT16(table + v1MMNESLookup[_id] * 2 + 2) - offset) / 2;
|
||||
_numAnim = ((READ_LE_UINT16(_vm->_NEScostlens - 2) - 2) - offset);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue