Roughing talk logic
This commit is contained in:
@ -7,16 +7,14 @@
|
||||
|
||||
#include "frame.h"
|
||||
|
||||
primitive_t bruh;
|
||||
|
||||
void pokerFrameInit(poker_t *poker, render_t *render) {
|
||||
frameBufferInit(&poker->frameWorld, render->width, render->height);
|
||||
frameBufferInit(&poker->frameGui, render->width, render->height);
|
||||
|
||||
fonttextinfo_t *info;
|
||||
char *text = "Hello world how are you today? I'm doing fine myself.";
|
||||
info = fontTextClamp(&poker->font, text, 16, 500);
|
||||
fontTextInit(&poker->font, &bruh, info);
|
||||
// fonttextinfo_t *info;
|
||||
// char *text = "Hello world how are you today? I'm doing fine myself.";
|
||||
// info = fontTextClamp(&poker->font, text, 16, 500);
|
||||
// fontTextInit(&poker->font, &bruh, info);
|
||||
}
|
||||
|
||||
void pokerFrameWorld(poker_t *poker, render_t *render) {
|
||||
@ -44,8 +42,4 @@ void pokerFrameGui(poker_t *poker, render_t *render) {
|
||||
);
|
||||
cameraLookAt(&poker->cameraGui, 0, 0, 5, 0, 0, 0);
|
||||
shaderUseCamera(&poker->shader, &poker->cameraGui);
|
||||
|
||||
shaderUsePosition(&poker->shader, 0,0,0, 0,0,0);
|
||||
shaderUseTexture(&poker->shader, &poker->font.texture);
|
||||
primitiveDraw(&bruh, 0, -1);
|
||||
}
|
@ -5,4 +5,47 @@
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#include "talk.h"
|
||||
#include "talk.h"
|
||||
#define SCALE 16
|
||||
|
||||
void pokerTalkInit(poker_t *poker) {
|
||||
poker->talkText = NULL;
|
||||
poker->talkTextInfo = NULL;
|
||||
poker->lastWidth = 0, poker->lastHeight = 0;
|
||||
}
|
||||
|
||||
void pokerTalkDispose(poker_t *poker) {
|
||||
if(poker->talkTextInfo == NULL) return;
|
||||
fontTextInfoDispose(poker->talkTextInfo);
|
||||
primitiveDispose(&poker->talkPrimitive);
|
||||
}
|
||||
|
||||
void pokerTalkTextRebuffer(poker_t *poker, render_t *render) {
|
||||
// Check if we need to force a redraw or not.
|
||||
if(poker->talkText == NULL || poker->lastWidth != render->width) {
|
||||
if(poker->talkTextInfo != NULL) {
|
||||
fontTextInfoDispose(poker->talkTextInfo);
|
||||
primitiveDispose(&poker->talkPrimitive);
|
||||
}
|
||||
}
|
||||
if(poker->talkText == NULL) return;
|
||||
|
||||
// Rebuffer
|
||||
poker->talkTextInfo = fontTextClamp(&poker->font, poker->talkText, SCALE,
|
||||
render->width
|
||||
);
|
||||
fontTextInit(&poker->font, &poker->talkPrimitive, poker->talkTextInfo);
|
||||
}
|
||||
|
||||
void pokerTalkRender(poker_t *poker, render_t *render) {
|
||||
pokerTalkTextRebuffer(poker, render);
|
||||
|
||||
if(poker->talkTextInfo == NULL) return;
|
||||
shaderUsePosition(&poker->shader, 0,0,0, 0,0,0);
|
||||
shaderUseTexture(&poker->shader, &poker->font.texture);
|
||||
primitiveDraw(&poker->talkPrimitive, 0, -1);
|
||||
}
|
||||
|
||||
void pokerTalk(poker_t *poker, char *text) {
|
||||
poker->talkText = text;
|
||||
}
|
@ -8,4 +8,15 @@
|
||||
#pragma once
|
||||
#include <dawn/dawn.h>
|
||||
#include "../../display/gui/font.h"
|
||||
#include "../../display/primitive.h"
|
||||
#include "../../display/primitive.h"
|
||||
#include "../../display/shader.h"
|
||||
|
||||
void pokerTalkInit(poker_t *poker);
|
||||
|
||||
void pokerTalkDispose(poker_t *poker);
|
||||
|
||||
void pokerTalkTextRebuffer(poker_t *poker, render_t *render);
|
||||
|
||||
void pokerTalkRender(poker_t *poker, render_t *render);
|
||||
|
||||
void pokerTalk(poker_t *poker, char *text);
|
Reference in New Issue
Block a user