Skip to content

Instantly share code, notes, and snippets.

@ricejasonf
Created February 4, 2018 03:45
Show Gist options
  • Save ricejasonf/f66b4b9f864b993814cebe49eb7c27be to your computer and use it in GitHub Desktop.
Save ricejasonf/f66b4b9f864b993814cebe49eb7c27be to your computer and use it in GitHub Desktop.
Slither.io Mod to Orient View to Player Perspective
if (typeof my_reset != "undefined") my_reset();
my_init = function() {
old_redraw = redraw;
var mag = 0.1;
var c_ang = 0;
var get_ang = function(snake_ang) {
var diff = Math.abs(snake_ang - c_ang);
if (diff < mag) return snake_ang;
else if ((c_ang < snake_ang && snake_ang - c_ang < Math.PI)
|| (c_ang > snake_ang && c_ang - snake_ang > Math.PI))
c_ang += mag;
else if ((c_ang > snake_ang && c_ang - snake_ang < Math.PI)
|| (c_ang < snake_ang && snake_ang - c_ang > Math.PI))
c_ang -= mag;
if (c_ang < 0) c_ang = Math.PI * 2 - c_ang;
else if (c_ang > Math.PI *2) c_ang %= Math.PI * 2;
return c_ang;
}
my_redraw = function() {
var cx = mc.width/2, cy = mc.height/2;
var b = mc.getContext('2d');
b.save();
if (snake) {
b.translate(cx, cy);
b.rotate(-get_ang(snake.ang) - (Math.PI / 2));
b.translate(-cx, -cy);
}
old_redraw();
b.restore();
}
redraw = my_redraw;
}
my_reset = function() {
redraw = old_redraw;
}
my_init();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment