ID:2745683
 
(See the best response by Shadowkaroth.)
Code:
usr.client.dir=WEST


Problem description:
I'm trying to make the screen rotate in any angle, I know how the usr.client.dir command works, but it only looks like it works in the 4 main dimensions. I would to be able to rotate the screen in any specific angle. The idea is to make something like riding a car, more immersive.
Best response
Client dir controls the icon_state perspective that the client views as the main one and rotates from.

You cannot rotate the screen through client.dir. Rotating a plane master would turn things within that plane though.

You can however rotate the car 360 degrees.

client.dir is different from plane mastering though. Its a perspective thing.
In response to Shadowkaroth
Thank you for the quick reply to help. I think there's a misunderstanding, so let me clarify.
usr.dir=EAST //Rotates the user and icon_state's direction

I think that line above is what you are saying, however:
usr.client.dir=EAST //Rotates the screen

I'm talking about rotating the screen, the code above, does that, but it only does it one of 4 directions. I was hoping I could make it rotat in any angle, I believe I was saw someone do it ina Forum, but it was so long ago I forgot where I saw it.
In response to Shadowkaroth
I do recall it being possible to rotate the entire screen. I'm trying to remember how. I did it once for a platformer i was trying to make years ago, called locked.
If you use a plane master, you can rotate it.
In response to Vallat
Yes, that is exactly was I was trying to do, I knew it was possible, I saw it in another game before. now the question is how?
In response to Kozuma3
I see the plane master code, but I don't see how it would work, the example that BYOND gives, is about changing colors, could you give an example how to use it to rotate the screen?
world
fps = 30
mob = /mob/player

mob/player
icon = 'icon.dmi'
icon_state = "mob"
var/tmp
angle
obj/plane_object/plane_master

obj/plane_object
appearance_flags = PLANE_MASTER | PIXEL_SCALE
plane = 0
screen_loc = "1,1"

mob/player/Login()
plane_master = new
client.screen += plane_master
..()

mob/player/proc/UpdatePlaneMasterViewThing()
plane_master?.transform = turn(matrix(),angle)

client
East()
mob:angle += 8
if(mob:angle > 359)
mob:angle -= 360
mob:UpdatePlaneMasterViewThing()
West()
mob:angle -= 8
if(0 > mob:angle)
mob:angle += 360
mob:UpdatePlaneMasterViewThing()
In response to Kozuma3
This is exactly it, thank you so much!!! You are the BEST!!