#include "game_types.h"

/* Player_RenderWithDirection @ 0x08005684 (real 58B) -- conditional idle update by link liveness. Mirrors src/matched/Player_RenderWithDirection.c. */
/* Copies the linked words into 15/16, then runs the idle update unless the
   render-distance byte is clear or both linked words are zero. */
extern int Camera_CalcRenderDist(int *p);
extern void Player_UpdateIdle(int *p);

void Player_RenderWithDirection(int *p)
{
    int *q = (int *)p[27];
    p[15] = (int)q[18];
    p[16] = (int)q[19];
    if ((Camera_CalcRenderDist(p) & 0xFF) == 0)
        return;
    if (q[1] == 0 && q[0] == 0)
        return;
    Player_UpdateIdle(p);
}
