#include "game_types.h"

/* Render_DrawScoreDisplay @ 0x08002FF0 (real 104B) -- score display switch plus field shuffle. Mirrors src/matched/Render_DrawScoreDisplay.c. */
/* Dispatches on word 15 (0-4) through the render veneers, then shuffles
   words 18/19 -> 20/21 and 16 -> 17, clearing word 16. Out-of-range modes
   skip the dispatch but still shuffle. */
extern void Render_Veneer3058(int *p);
extern void Sub_08003064(int *p);
extern void Render_Veneer378C(int *p);
extern void Sub_08003798(int *p);
extern void Veneer_BxLr378C(int *p);

void Render_DrawScoreDisplay(int *p)
{
    switch (p[15]) {
    case 0:
        Render_Veneer3058(p);
        break;
    case 1:
        Sub_08003064(p);
        break;
    case 2:
        Render_Veneer378C(p);
        break;
    case 3:
        Sub_08003798(p);
        break;
    case 4:
        Veneer_BxLr378C(p);
        break;
    default:
        break;
    }
    p[20] = p[18];
    p[21] = p[19];
    p[17] = p[16];
    p[16] = 0;
}
