// src/assets/character_run_frames.h
#pragma once

// Run frame 1
static const char *RUN_FRAME_1[] = {
    "....g@w.",
    "..._ZF~.",
    "..@~@@y=",
    "\".g@_`.",
    "_ygF.Ry.",
    "`~`...4L",
};

// Run frame 2
static const char *RUN_FRAME_2[] = {
    "....g@w.",
    "..._Z~~.",
    "..aM@$y,",
    "..~a@_`.",
    ".yy@`$..",
    "..`..@..",
};

// Run frame 3
static const char *RUN_FRAME_3[] = {
    "...a@$..",
    "..._Z~..",
    "..a@@...",
    "..R@@=..",
    ".yy@@...",
    ".``u@...",
};

// Run frame 4
static const char *RUN_FRAME_4[] = {
    "..g@$...",
    "..yT`...",
    ".g@F....",
    ".4@L....",
    "._$$....",
    ".`@~....",
};

// Run frame 5
static const char *RUN_FRAME_5[] = {
    "...@@...",
    ".._Z~...",
    "..@@....",
    "..$@#...",
    "..g@L...",
    ".yFP....",
};

// Run frame 6
static const char *RUN_FRAME_6[] = {
    "....@@..",
    "..._Z~..",
    "..y@@,_.",
    "..@$@~~.",
    "..y@~$..",
    ".aF~.4L.",
};

// Run frame 7
static const char *RUN_FRAME_7[] = {
    "....a@e.",
    "..._ZF`.",
    "..a~@@y=",
    "..'y@L`.",
    "_yyP.4y.",
    "`~`...4L",
};

enum class RunFrame {
    Run1 = 0,
    Run2,
    Run3,
    Run4,
    Run5,
    Run6,
    Run7,
    COUNT
};

static const char **CHARACTER_RUN_FRAMES[] = {
    RUN_FRAME_1,
    RUN_FRAME_2,
    RUN_FRAME_3,
    RUN_FRAME_4,
    RUN_FRAME_5,
    RUN_FRAME_6,
    RUN_FRAME_7,
};

static const int CHARACTER_RUN_FRAME_COUNT = sizeof(CHARACTER_RUN_FRAMES) / sizeof(CHARACTER_RUN_FRAMES[0]);

// Height (rows per run frame)
static const int CHARACTER_RUN_FRAME_HEIGHT = sizeof(RUN_FRAME_1) / sizeof(RUN_FRAME_1[0]);

static const int CHARACTER_RUN_COLLISION_HEIGHT = CHARACTER_RUN_FRAME_HEIGHT;

static const int CHARACTER_RUN_FRAME_WIDTH = 8;
static const int CHARACTER_RUN_COLLISION_LEFT_OFFSET  = 2;
static const int CHARACTER_RUN_COLLISION_RIGHT_OFFSET = 2;
// 8 je width a 2 zlava a 2 zprava
static const int CHARACTER_RUN_COLLISION_WIDTH = CHARACTER_RUN_FRAME_WIDTH - (CHARACTER_RUN_COLLISION_LEFT_OFFSET + CHARACTER_RUN_COLLISION_RIGHT_OFFSET);
