cache: add running/crawling anim opcodes from rev 205

This commit is contained in:
Max Weber
2022-05-10 20:35:44 -06:00
parent e0fb164f2c
commit bfc7ccd623
3 changed files with 45 additions and 15 deletions

View File

@@ -37,12 +37,20 @@ public class NpcDefinition
public int[] models; public int[] models;
public int[] chatheadModels; public int[] chatheadModels;
public int standingAnimation = -1; public int standingAnimation = -1;
public int rotateLeftAnimation = -1; public int idleRotateLeftAnimation = -1;
public int rotateRightAnimation = -1; public int idleRotateRightAnimation = -1;
public int walkingAnimation = -1; public int walkingAnimation = -1;
public int rotate180Animation = -1; public int rotate180Animation = -1;
public int rotate90RightAnimation = -1; public int rotateLeftAnimation = -1;
public int rotate90LeftAnimation = -1; public int rotateRightAnimation = -1;
public int runAnimation = -1;
public int runRotate180Animation = -1;
public int runRotateLeftAnimation = -1;
public int runRotateRightAnimation = -1;
public int crawlAnimation = -1;
public int crawlRotate180Animation = -1;
public int crawlRotateLeftAnimation = -1;
public int crawlRotateRightAnimation = -1;
public short[] recolorToFind; public short[] recolorToFind;
public short[] recolorToReplace; public short[] recolorToReplace;
public short[] retextureToFind; public short[] retextureToFind;

View File

@@ -85,18 +85,18 @@ public class NpcLoader
} }
else if (opcode == 15) else if (opcode == 15)
{ {
def.rotateLeftAnimation = stream.readUnsignedShort(); def.idleRotateLeftAnimation = stream.readUnsignedShort();
} }
else if (opcode == 16) else if (opcode == 16)
{ {
def.rotateRightAnimation = stream.readUnsignedShort(); def.idleRotateRightAnimation = stream.readUnsignedShort();
} }
else if (opcode == 17) else if (opcode == 17)
{ {
def.walkingAnimation = stream.readUnsignedShort(); def.walkingAnimation = stream.readUnsignedShort();
def.rotate180Animation = stream.readUnsignedShort(); def.rotate180Animation = stream.readUnsignedShort();
def.rotate90RightAnimation = stream.readUnsignedShort(); def.rotateLeftAnimation = stream.readUnsignedShort();
def.rotate90LeftAnimation = stream.readUnsignedShort(); def.rotateRightAnimation = stream.readUnsignedShort();
} }
else if (opcode == 18) else if (opcode == 18)
{ {
@@ -224,6 +224,28 @@ public class NpcLoader
{ {
def.isPet = true; def.isPet = true;
} }
else if (opcode == 114)
{
def.runAnimation = stream.readUnsignedShort();
}
else if (opcode == 115)
{
def.runAnimation = stream.readUnsignedShort();
def.runRotate180Animation = stream.readUnsignedShort();
def.runRotateLeftAnimation = stream.readUnsignedShort();
def.runRotateRightAnimation = stream.readUnsignedShort();
}
else if (opcode == 116)
{
def.crawlAnimation = stream.readUnsignedShort();
}
else if (opcode == 117)
{
def.crawlAnimation = stream.readUnsignedShort();
def.crawlRotate180Animation = stream.readUnsignedShort();
def.crawlRotateLeftAnimation = stream.readUnsignedShort();
def.crawlRotateRightAnimation = stream.readUnsignedShort();
}
else if (opcode == 118) else if (opcode == 118)
{ {
def.varbitId = stream.readUnsignedShort(); def.varbitId = stream.readUnsignedShort();

View File

@@ -62,23 +62,23 @@ public class NpcSaver
out.writeByte(14); out.writeByte(14);
out.writeShort(npc.walkingAnimation); out.writeShort(npc.walkingAnimation);
} }
if (npc.rotateLeftAnimation != -1) if (npc.idleRotateLeftAnimation != -1)
{ {
out.writeByte(15); out.writeByte(15);
out.writeShort(npc.rotateLeftAnimation); out.writeShort(npc.idleRotateLeftAnimation);
} }
if (npc.rotateRightAnimation != -1) if (npc.idleRotateRightAnimation != -1)
{ {
out.writeByte(16); out.writeByte(16);
out.writeShort(npc.rotateRightAnimation); out.writeShort(npc.idleRotateRightAnimation);
} }
if (npc.rotate180Animation != -1 || npc.rotate90LeftAnimation != -1 || npc.rotate90RightAnimation != -1) if (npc.rotate180Animation != -1 || npc.rotateLeftAnimation != -1 || npc.rotateRightAnimation != -1)
{ {
out.writeByte(17); out.writeByte(17);
out.writeShort(npc.walkingAnimation); out.writeShort(npc.walkingAnimation);
out.writeShort(npc.rotate180Animation); out.writeShort(npc.rotate180Animation);
out.writeShort(npc.rotate90RightAnimation); out.writeShort(npc.rotateLeftAnimation);
out.writeShort(npc.rotate90LeftAnimation); out.writeShort(npc.rotateRightAnimation);
} }
for (int i = 0; i < 5; ++i) for (int i = 0; i < 5; ++i)
{ {