momento/include/levelselection.h

30 lines
938 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 2
#define PACKBOX_BORDER_SEL 4
#define PACKBOX_TRANSITION_SPEED (1.0 / 40.0)
struct LevelSelection {
int pack_cursor;
int visual_cursor;
float transition;
float transition_speed;
};
struct LevelSelection levelselection_init(void);
/* Return 1 if game state should change. */
int levelselection_update(struct LevelSelection *levelselection,
struct Input input);
void levelselection_draw(struct LevelSelection levelselection);