It’s actually really simple and all done using stock GML!
What I did was divide every room into two sections - one containing what is inside the ship you’re in, the other what is outside. Then I made two surfaces - surf_inside and surf_outside.
Everything that’s supposed to be drawn inside the ship had its draw event prefaced with a couple lines of code that set the camera’s position to where the player’s eyes were looking and the target surface to surf_inside.
Everything outside had the camera set to where the ship was (+ the angle the player was looking at to make it look genuine) and the target surface set to surf_outside.
Then at the Draw GUI event I first draw surf_outside, then i draw surf_inside on top of it aaannnd… that’s basically it!
I’m not sure if that’s what you were looking for, but let me know if you wanna know anything else