#include "game_types.h"

/* Camera_RenderAtOffset @ 0x0800504C (real 106B) -- offset render through DrawAt (mode 4). Mirrors src/matched/Camera_RenderAtOffset.c. */
/* Emitter-delta math over p[30]/p[31], then Emitter_DrawAt(base, p+59, nx,
   159-ny, 4). Returns nothing meaningful (matched int is a stub artifact). */
extern void Emitter_DrawAt(int *base, int *q, int x, int y, int mode);

void Camera_RenderAtOffset(int *p)
{
    int *base = *(int **)0x02000134;
    int *tab = *(int **)0x0200005C + 416 / 4;
    int nx = p[30] - ((tab[0] >> 12) - (tab[19] / 2));
    int ny = p[31] - ((tab[1] >> 12) - (tab[20] / 2));
    Emitter_DrawAt(base, p + 59, nx, 159 - ny, 4);
}
