you think I actually tested it? or even compiled it?

the builtin+constant names come from csqctest, rather than the DP-specific bare stuff, hence why you don't need those other pointless functions.
remove the MASK_ENGINEVIEWMODEL and you'll get rid of the view model.
regarding the player ent, I forgot about that, sorry. There are three possibilities, one is svc_setview so the client hides a different ent, the second is sending the player via csqc, and the third is an ssqc-based clone of the ent (movetype_follow jobbie with drawonlytoclient set).
.