Setting the frame keeps on working though. I'm new to using arrays in c, but i don't think that's the issue. Here is the code bellow.
Code: Select all
void updatePAnim()
{
int townbodyanims[12][8] = {
{0,0,0,0,0,0,0,0} , //core idle down
{0,1,2,1,0,1,2,1} , //core walk down
{0,1,2,3,4,4,4,1} , //core idle side
{0,1,2,3,4,4,4,1} , //core walk side
{0,1,2,3,4,4,4,1} , //core idle up
{0,1,2,3,4,4,4,1} , //core walk up
{0,1,2,3,4,4,4,1} , //wild idle down
{0,1,2,3,4,4,4,1} , //wild walk down
{0,1,2,3,4,4,4,1} , //wild idle side
{0,1,2,3,4,4,4,1} , //wild walk side
{0,1,2,3,4,4,4,1} , //wild idle up
{0,1,2,3,4,4,4,1} , //wild walk up
};
char *townbodyflipState[12][8] = {
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //core idle down
{"TRUE","TRUE","TRUE","TRUE","FALSE","FALSE","FALSE","FALSE"} , //core walk down
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //core idle side
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //core walk side
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //core idle up
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //core walk up
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //wild idle down
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //wild walk down
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //wild idle side
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //wild walk side
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //wild idle up
{"FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE","FALSE"} , //wild walk up
};
if (paction == 5) { //walk down animation
if (VDP_VBLANK_FLAG) {
if (panimtimer < 15) {
panimtimer += 1;
}else{
if (animloop < 8){
SPR_setFrame(sprites[1], townbodyanims[1][animloop]);
SPR_setVFlip(sprites[1], *townbodyflipState[1][animloop]);
VDP_drawText(townbodyflipState[1][animloop], 10, 15);
animloop++;
}else{
animloop = 0;
}
panimtimer = 0;
}
}
}
}