crash fixes

This commit is contained in:
Jack Andersen 2015-09-01 11:46:40 -10:00
parent c98ebe2fbe
commit 74e0588a63
3 changed files with 5 additions and 5 deletions

View File

@ -442,14 +442,15 @@ static void DecodeCMPR(png_structrp png, png_infop info,
png_write_info(png, info); png_write_info(png, info);
/* Decode 8 rows at a time */ /* Decode 8 rows at a time */
std::unique_ptr<uint32_t[]> buf(new uint32_t[width*8]); int bwidth = (width + 7) / 8;
int bpwidth = bwidth * 8;
std::unique_ptr<uint32_t[]> buf(new uint32_t[bpwidth*8]);
uint32_t* bTargets[4] = { uint32_t* bTargets[4] = {
buf.get(), buf.get(),
buf.get() + 4, buf.get() + 4,
buf.get() + 4 * width, buf.get() + 4 * width,
buf.get() + 4 * width + 4 buf.get() + 4 * width + 4
}; };
int bwidth = (width + 7) / 8;
for (int y=height/8-1 ; y>=0 ; --y) for (int y=height/8-1 ; y>=0 ; --y)
{ {
const DXTBlock* blks = (DXTBlock*)(texels + 32 * bwidth * y); const DXTBlock* blks = (DXTBlock*)(texels + 32 * bwidth * y);

View File

@ -188,8 +188,7 @@ void ANIM::ANIM0::read(Athena::io::IStreamReader& reader)
{ {
if (std::get<0>(bone.second)) if (std::get<0>(bone.second))
{ {
chanKeys.emplace_back(); std::vector<DNAANIM::Value>& keys = *kit++;
std::vector<DNAANIM::Value>& keys = chanKeys.back();
for (size_t k=0 ; k<head.keyCount ; ++k) for (size_t k=0 ; k<head.keyCount ; ++k)
keys.emplace_back(reader.readVec4fBig()); keys.emplace_back(reader.readVec4fBig());
} }

2
hecl

@ -1 +1 @@
Subproject commit 3755f82b91bcd950d12a94cbb05ec296677bcc34 Subproject commit fb8be3c8d57525dbe9966f42e3f811a39462bcf6