Temporarily fixed font wrapping by removing scaling.

This commit is contained in:
2021-05-25 20:04:18 -07:00
parent ffaaa91a9e
commit 79b7aa06ba
5 changed files with 40 additions and 90 deletions

View File

@ -8,10 +8,17 @@
#include "talk.h"
#define SCALE 16
texture_t text;
primitive_t primitive;
void pokerTalkInit(poker_t *poker) {
poker->talkText = NULL;
poker->talkTextInfo = NULL;
poker->lastWidth = 0, poker->lastHeight = 0;
// Testing
assetTextureLoad(&text, "red.png");
quadInit(&primitive, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
void pokerTalkDispose(poker_t *poker) {
@ -28,12 +35,13 @@ void pokerTalkTextRebuffer(poker_t *poker, render_t *render) {
primitiveDispose(&poker->talkPrimitive);
}
}
poker->lastWidth = render->width;
poker->lastHeight = render->height;
if(poker->talkText == NULL) return;
// Rebuffer
poker->talkTextInfo = fontTextClamp(&poker->font, poker->talkText, SCALE,
render->width
);
poker->talkTextInfo = fontTextClamp(&poker->font,poker->talkText,render->width);
fontTextInit(&poker->font, &poker->talkPrimitive, poker->talkTextInfo);
}
@ -44,6 +52,13 @@ void pokerTalkRender(poker_t *poker, render_t *render) {
shaderUsePosition(&poker->shader, 0,0,0, 0,0,0);
shaderUseTexture(&poker->shader, &poker->font.texture);
primitiveDraw(&poker->talkPrimitive, 0, -1);
primitiveDispose(&primitive);
quadInit(&primitive, -0.05, 0, 0, 0.25, 0.25, poker->talkTextInfo->width, poker->talkTextInfo->height, 0.35, 0.35);
shaderUsePosition(&poker->shader, 0,0,0, 0,0,0);
shaderUseTexture(&poker->shader, &text);
primitiveDraw(&primitive, 0, -1);
}
void pokerTalk(poker_t *poker, char *text) {

View File

@ -11,6 +11,9 @@
#include "../../display/primitive.h"
#include "../../display/shader.h"
#include "../../file/asset.h"
#include "../../display/primitives/quad.h"
void pokerTalkInit(poker_t *poker);
void pokerTalkDispose(poker_t *poker);