57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
/* date = August 14th 2023 5:00 pm */
|
|
|
|
#ifndef VN_SCENE_VIEW_H
|
|
#define VN_SCENE_VIEW_H
|
|
|
|
struct textbox
|
|
{
|
|
string String;
|
|
s64 Capacity;
|
|
r32 CharsRevealed;
|
|
};
|
|
|
|
struct scene_view_character_data
|
|
{
|
|
string Name;
|
|
b32 Active;
|
|
b32 Talking;
|
|
|
|
render_handle Texture;
|
|
r32 TextureScale;
|
|
|
|
r32 ActiveT;
|
|
r32 TalkingT;
|
|
r32 PctP;
|
|
};
|
|
|
|
struct scene_view
|
|
{
|
|
memory_arena *SceneArena;
|
|
|
|
// sixten: input
|
|
platform_event_list *EventList;
|
|
r32 dtForFrame;
|
|
|
|
scene_runtime Runtime;
|
|
textbox Textbox;
|
|
render_handle BackgroundTexture;
|
|
|
|
s32 TargetCharacter;
|
|
|
|
render_handle TestHappy;
|
|
render_handle TestNormal;
|
|
|
|
s32 CharacterCount;
|
|
scene_view_character_data OnscreenCharacters[16];
|
|
};
|
|
|
|
static void SV_SetState(scene_view *View);
|
|
static scene_view *SV_GetState();
|
|
static void SV_NewFrame(scene_view *View, platform_event_list *EventList, r32 dtForFrame);
|
|
static void SV_SetCurrentSource(compiled_scene *Compiled);
|
|
static void SV_Init(scene_view *View, memory_arena *TextboxArena);
|
|
static void SV_BuildSceneView(vn_input *Input);
|
|
static void SV_Update(memory_arena *FrameArena);
|
|
|
|
#endif //VN_SCENE_VIEW_H
|