/* SPDX-License-Identifier: GPL-3.0-or-later */ /* Copyright (C) 2021 KikooDX */ #pragma once #include "conf.h" #include "input.h" #include #define PACKBOX_PADDING_Y 16 #define PACKBOX_WIDTH (DWIDTH / 2 - PACKBOX_PADDING_Y) #define PACKBOX_PADDING_X (PACKBOX_WIDTH / 3) #define PACKBOX_SPACING \ (PACKBOX_WIDTH - PACKBOX_PADDING_X + (DWIDTH - PACKBOX_WIDTH) / 2) #define PACKBOX_BORDER_UNS 1 #define PACKBOX_BORDER_SEL 4 #define PACKBOX_TRANSITION_SPEED 0.0625 struct LevelSelection { int pack_cursor; float visual_cursor; float visual_target; }; struct LevelSelection levelselection_init(void); /* Return 1 if game state should change. */ int levelselection_update(struct LevelSelection *restrict levelselection, struct Input input); void levelselection_draw(struct LevelSelection levelselection);