Working on some visual novel elements

This commit is contained in:
2021-07-22 10:24:34 -07:00
parent eb9d512233
commit f738f9b83d
15 changed files with 288 additions and 112 deletions

View File

@ -0,0 +1,50 @@
/**
* Copyright (c) 2021 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "../libs.h"
#include "../display/animation/timeline.h"
#include "../display/gui/font.h"
/** Amount of characters scrolled, per second */
#define VN_TEXTBOX_SCROLL_SPEED 60
#define VN_TEXTBOX_STATE_CLOSED 0x01
typedef struct {
/** Stores the maximum width that this textbox can take up */
float widthMax;
/** Font that the text box uses */
font_t *font;
/** Box State Flags */
uint8_t state;
/** How many rows of text at most can be displayed in a single text box */
int32_t linesMax;
int32_t lineCurrent;
/** X, Y Position of the textbox */
float x, y;
/** Animation of the textbox */
float textScroll;
/** Information about the current rendered text */
fonttextinfo_t textInfo;
/** Primitive to hold talking text */
primitive_t primitive;
// Testing assets
primitive_t testPrimitive;
texture_t testTexture;
/** Current spoken text, tracked in-case of re-render */
char *text;
} vntextbox_t;