// 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); } }