// src/assets/character_crawl_frames.h #pragma once // Crawl1 frame 1 static const char *CRAWL1_FRAME_1[] = { "........", "........", "...y4@W.", "..a@a`..", "..@@R@=.", ".aa@s@.." }; // Crawl2 frame 1 static const char *CRAWL2_FRAME_1[] = { "........", "........", "........", ".____...", ".@@@@yg,", ".a@@PR@L" }; enum class CrawlType { Crawl1 = 0, Crawl2, COUNT }; static const char **CHARACTER_CRAWL1_FRAMES[] = { CRAWL1_FRAME_1, }; static const char **CHARACTER_CRAWL2_FRAMES[] = { CRAWL2_FRAME_1, }; static const int CHARACTER_CRAWL1_FRAME_COUNT = sizeof(CHARACTER_CRAWL1_FRAMES) / sizeof(CHARACTER_CRAWL1_FRAMES[0]); static const int CHARACTER_CRAWL2_FRAME_COUNT = sizeof(CHARACTER_CRAWL2_FRAMES) / sizeof(CHARACTER_CRAWL2_FRAMES[0]); // Height (rows per crawl frame) static const int CHARACTER_CRAWL1_FRAME_HEIGHT = sizeof(CRAWL1_FRAME_1) / sizeof(CRAWL1_FRAME_1[0]); static const int CHARACTER_CRAWL2_FRAME_HEIGHT = sizeof(CRAWL2_FRAME_1) / sizeof(CRAWL2_FRAME_1[0]); // Crawl1 collision box static const int CHARACTER_CRAWL1_FRAME_WIDTH = 8; static const int CHARACTER_CRAWL1_COLLISION_LEFT_OFFSET = 1; static const int CHARACTER_CRAWL1_COLLISION_RIGHT_OFFSET = 1; static const int CHARACTER_CRAWL1_COLLISION_WIDTH = CHARACTER_CRAWL1_FRAME_WIDTH - (CHARACTER_CRAWL1_COLLISION_LEFT_OFFSET + CHARACTER_CRAWL1_COLLISION_RIGHT_OFFSET); static const int CHARACTER_CRAWL1_COLLISION_HEIGHT = CHARACTER_CRAWL1_FRAME_HEIGHT - 2; // Crawl2 collision box (lower posture - smaller collision height) static const int CHARACTER_CRAWL2_FRAME_WIDTH = 8; static const int CHARACTER_CRAWL2_COLLISION_LEFT_OFFSET = 1; static const int CHARACTER_CRAWL2_COLLISION_RIGHT_OFFSET = 0; static const int CHARACTER_CRAWL2_COLLISION_WIDTH = CHARACTER_CRAWL2_FRAME_WIDTH - (CHARACTER_CRAWL2_COLLISION_LEFT_OFFSET + CHARACTER_CRAWL2_COLLISION_RIGHT_OFFSET); static const int CHARACTER_CRAWL2_COLLISION_HEIGHT = CHARACTER_CRAWL2_FRAME_HEIGHT - 4;