Improve alist_polef

This change fixes Body Harvest.
This commit is contained in:
LegendOfDragoon 2016-06-02 20:54:52 -07:00
parent 7ee7b41d1f
commit 210832c618
1 changed files with 5 additions and 1 deletions

View File

@ -868,6 +868,7 @@ void alist_polef(CHle * hle, bool init, uint16_t dmemo, uint16_t dmemi, uint16_t
unsigned i;
int16_t l1, l2;
int16_t h2_before[8];
int32_t state[2];
count = align(count, 16);
@ -875,9 +876,11 @@ void alist_polef(CHle * hle, bool init, uint16_t dmemo, uint16_t dmemi, uint16_t
{
l1 = 0;
l2 = 0;
state[0] = 0;
}
else
{
state[0] = *dram_u32(hle, address);
l1 = *dram_u16(hle, address + 4);
l2 = *dram_u16(hle, address + 6);
}
@ -911,7 +914,8 @@ void alist_polef(CHle * hle, bool init, uint16_t dmemo, uint16_t dmemi, uint16_t
count -= 16;
} while (count != 0);
dram_store_u16(hle, (uint16_t*)(dst - 4), address, 4);
state[1] = (l1 << 16) + l2;
dram_store_u32(hle, (uint32_t*)(state), address, 2);
}
void alist_iirf(CHle * hle, bool init, uint16_t dmemo, uint16_t dmemi, uint16_t count, int16_t* table, uint32_t address)