momento/include/levelselection.h

29 lines
921 B
C

/* SPDX-License-Identifier: GPL-3.0-or-later */
/* Copyright (C) 2021 KikooDX */
#pragma once
#include "conf.h"
#include "input.h"
#include <gint/display.h>
#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);