multiple frames now added and working

This commit is contained in:
Priec
2025-11-14 23:53:45 +01:00
parent 285840b521
commit 11f5eb7fd1
12 changed files with 108 additions and 128 deletions

View File

@@ -8,7 +8,7 @@
#include "../game/state.h"
#include "../game/animation.h"
#include "../hardware/uart.h"
#include "../assets/character_frames.h"
#include "../render/player.h"
extern BufferedSerial serial_port;
extern DigitalOut led;
@@ -52,13 +52,12 @@ void render_loop(int speed) {
if (need_redraw) {
draw_mask(bg_file, animation.get_shift(), uart.get_message());
CharacterFrame player_frame = player_state.get_character_frame();
FrameSelection frame = player_state.get_frame_selection();
CharacterPosition draw_pos = get_aligned_frame_position(pos, player_frame);
draw_character(draw_pos.x, draw_pos.y, player_frame);
CharacterPosition draw_pos = get_aligned_frame_position(pos, frame.movement, frame.frame_index);
draw_character(draw_pos.x, draw_pos.y, frame.movement, frame.frame_index);
// alternate between frame 0 and 1 when not crawling
if (player_state.get_state() != PlayerState::Crawl1) {
if (player_state.get_state() != PlayerState::Crawl) {
player_state.toggle_walk_frame();
}