55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
// src/assets/character_frames.h
|
|
|
|
#pragma once
|
|
|
|
// Player frame 1
|
|
static const char *CHARACTER_MASK_FRAME_1[] = {
|
|
".....a@$..",
|
|
".....7PF..",
|
|
"..yaM@@__y",
|
|
"..@.y@FFF~",
|
|
"..._$M@_..",
|
|
"yaa@~.`@y.",
|
|
"........@r"
|
|
};
|
|
|
|
// Player frame 2
|
|
static const char *CHARACTER_MASK_FRAME_2[] = {
|
|
".g@$",
|
|
".7PF",
|
|
"y@$.",
|
|
"0@F.",
|
|
"4@$.",
|
|
"y$@.",
|
|
"u@.."
|
|
};
|
|
|
|
// Player frame 3 (triggered)
|
|
static const char *CHARACTER_MASK_FRAME_3[] = {
|
|
".._$@.",
|
|
".$By`.",
|
|
"4@$@@a",
|
|
"aa@W@."
|
|
};
|
|
|
|
enum class CharacterFrame {
|
|
Walk1 = 0,
|
|
Walk2,
|
|
Crawl1,
|
|
COUNT // number of frames, must stay last
|
|
};
|
|
|
|
// Combine frames for easy access
|
|
static const char **PLAYER_FRAMES[] = {
|
|
CHARACTER_MASK_FRAME_1, // Walk1
|
|
CHARACTER_MASK_FRAME_2, // Walk1
|
|
CHARACTER_MASK_FRAME_3 // Crawl1
|
|
};
|
|
|
|
static const int CHARACTER_FRAME_COUNT = static_cast<int>(CharacterFrame::COUNT);
|
|
|
|
// Height per frame
|
|
static const int CHARACTER_HEIGHT_1 = sizeof(CHARACTER_MASK_FRAME_1) / sizeof(CHARACTER_MASK_FRAME_1[0]);
|
|
static const int CHARACTER_HEIGHT_2 = sizeof(CHARACTER_MASK_FRAME_2) / sizeof(CHARACTER_MASK_FRAME_2[0]);
|
|
static const int CHARACTER_HEIGHT_3 = sizeof(CHARACTER_MASK_FRAME_3) / sizeof(CHARACTER_MASK_FRAME_3[0]);
|