/**
 * 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/texture.h"
#include "../display/primitive.h"
#include "../display/tileset.h"

#define VN_CHARACTER_BLINK_TIME_RANGE_MAX 6
#define VN_CHARACTER_SIZE 0.5

typedef struct {
  float x, y, z;
  float yaw, pitch, roll;
  float scaleX, scaleY;
  float blinkStart;

  char *name;

  bool talking;

  tileset_t tilesetEyes;
  tileset_t tilesetMouth;
  
  texture_t *textureEyes;
  texture_t *textureBody;
  texture_t *textureMouth;
  texture_t *textureFace;

  primitive_t primitiveEyes;
  primitive_t primitiveBody;
  primitive_t primitiveMouth;
  primitive_t primitiveFace;
} vncharacter_t;