rendered paste body// handles anything related to character position basically walking, running and standing
// applies to only to "non-thisPlayer" characters
public void updatePlayerMovement(stream str) {
if(dir1 == -1) {
// don't have to update the character position, because the char is just standing
if(updateRequired || chatTextUpdateRequired) {
// tell client there's an update block appended at the end
str.writeBits(1, 1);
str.writeBits(2, 0);
}
else str.writeBits(1, 0);
} else if(dir2 == -1) {
// send "walking packet"
str.writeBits(1, 1);
str.writeBits(2, 1);
str.writeBits(3, misc.xlateDirectionToClient[dir1]);
str.writeBits(1, (updateRequired || chatTextUpdateRequired) ? 1: 0);
} else {
// send "running packet"
str.writeBits(1, 1);
str.writeBits(2, 2);
str.writeBits(3, misc.xlateDirectionToClient[dir1]);
str.writeBits(3, misc.xlateDirectionToClient[dir2]);
str.writeBits(1, (updateRequired || chatTextUpdateRequired) ? 1: 0);
}
}