- Linear Tex filter for TTF fonts
- Format Code
This commit is contained in:
@ -1,10 +1,10 @@
|
||||
#include <3ds.h>
|
||||
|
||||
#include <fstream>
|
||||
#include <pd/Error.hpp>
|
||||
#include <pd/UI7.hpp>
|
||||
#include <pd/internal_db.hpp>
|
||||
#include <pd/palladium.hpp>
|
||||
#include <fstream>
|
||||
|
||||
void pdi_save_report(const std::string& msg) {
|
||||
auto ts = Palladium::GetTimeStr();
|
||||
|
@ -29,7 +29,7 @@ Texture::Ref Image::Get() {
|
||||
|
||||
void Image::Set(Texture::Ref i, NVec4 uvs) {
|
||||
Delete();
|
||||
if(uvs.x() != -1) custom_uvs = uvs;
|
||||
if (uvs.x() != -1) custom_uvs = uvs;
|
||||
img = i;
|
||||
}
|
||||
|
||||
|
@ -130,7 +130,8 @@ void LIFont::LoadTFF(const std::string path, int px_size) {
|
||||
free(bitmap);
|
||||
cpmap[c] = codepoint;
|
||||
}
|
||||
ftex->LoadPixels(fmap, type, type);
|
||||
ftex->LoadPixels(fmap, type, type, Palladium::Texture::RGBA32,
|
||||
Palladium::Texture::LINEAR);
|
||||
this->tex.push_back(ftex);
|
||||
}
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <algorithm>
|
||||
#include <memory>
|
||||
#include <pd/base/Color.hpp>
|
||||
#include <pd/Message.hpp>
|
||||
#include <pd/palladium.hpp>
|
||||
#include <pd/Lithium.hpp>
|
||||
#include <pd/Message.hpp>
|
||||
#include <pd/base/Color.hpp>
|
||||
#include <pd/palladium.hpp>
|
||||
#include <vector>
|
||||
|
||||
extern bool pdi_debugging;
|
||||
@ -61,13 +61,13 @@ void ProcessMessages() {
|
||||
LI::DrawText(pos + NVec2(5, 17), tc, msg_lst[i]->message);
|
||||
if (pdi_debugging)
|
||||
LI::DrawText(pos + NVec2(msg_box.x() + 5, 1), tc,
|
||||
std::to_string((int)msg_lst[i]->animtime));
|
||||
std::to_string((int)msg_lst[i]->animtime));
|
||||
// fix for Startup lol
|
||||
// Todo: Only do this on AppStart
|
||||
if (msg_lst[i]->animtime == 0) {
|
||||
msg_lst[i]->animtime += 1;
|
||||
} else {
|
||||
msg_lst[i]->animtime += Palladium::GetDeltaTime()*0.1f;
|
||||
msg_lst[i]->animtime += Palladium::GetDeltaTime() * 0.1f;
|
||||
}
|
||||
if (msg_lst[i]->animtime > anim_len) {
|
||||
msg_lst.erase(msg_lst.begin() + i);
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <pd/external/stb_image.h>
|
||||
|
||||
#include <pd/base/Color.hpp>
|
||||
#include <pd/Rubidium.hpp>
|
||||
#include <pd/base/Color.hpp>
|
||||
|
||||
void d7_pixel_blend(Palladium::Rubidium* rb, int x, int y, unsigned int clr,
|
||||
float blend) {
|
||||
|
@ -1,9 +1,9 @@
|
||||
#include <pd/external/stb_image.h>
|
||||
#include <pd/external/stb_image_write.h>
|
||||
|
||||
#include <pd/Error.hpp>
|
||||
#include <pd/Texture.hpp>
|
||||
#include <pd/internal_db.hpp>
|
||||
#include <pd/Error.hpp>
|
||||
|
||||
namespace pdi {
|
||||
static bool single_bit(unsigned int v) { return v && !(v & (v - 1)); }
|
||||
@ -54,8 +54,8 @@ int GetBPP(Texture::Type type) {
|
||||
return 1;
|
||||
return 0; // Error
|
||||
}
|
||||
void Texture::MakeTex(std::vector<unsigned char> &buf, int w, int h,
|
||||
Type type) {
|
||||
void Texture::MakeTex(std::vector<unsigned char> &buf, int w, int h, Type type,
|
||||
Filter filter) {
|
||||
if (!tex) {
|
||||
return;
|
||||
}
|
||||
@ -104,9 +104,10 @@ void Texture::MakeTex(std::vector<unsigned char> &buf, int w, int h,
|
||||
this->uvs.w() = 1.0 - ((float)h / (float)tex_size.y());
|
||||
|
||||
// Texture Setup
|
||||
auto fltr = (filter == NEAREST ? GPU_NEAREST : GPU_LINEAR);
|
||||
auto tex_fmt = GetTexFmt(type);
|
||||
C3D_TexInit(tex, (u16)tex_size.x(), (u16)tex_size.y(), tex_fmt);
|
||||
C3D_TexSetFilter(tex, GPU_NEAREST, GPU_NEAREST);
|
||||
C3D_TexSetFilter(tex, fltr, fltr);
|
||||
|
||||
memset(tex->data, 0, tex->size);
|
||||
|
||||
@ -202,7 +203,7 @@ NVec2 Texture::GetTexSize() {
|
||||
}
|
||||
|
||||
void Texture::LoadPixels(const std::vector<unsigned char> &data, int w, int h,
|
||||
Type type) {
|
||||
Type type, Filter filter) {
|
||||
Delete();
|
||||
int bpp = GetBPP(type);
|
||||
Palladium::InlineAssert(bpp, "Invalid Type");
|
||||
@ -216,7 +217,7 @@ void Texture::LoadPixels(const std::vector<unsigned char> &data, int w, int h,
|
||||
}
|
||||
tex = new C3D_Tex;
|
||||
std::vector<unsigned char> wimg(data);
|
||||
MakeTex(wimg, w, h, type);
|
||||
MakeTex(wimg, w, h, type, filter);
|
||||
}
|
||||
|
||||
void Texture::ExternalLoad(C3D_Tex *tex, NVec2 rszs, NVec4 uvs) {
|
||||
|
@ -198,7 +198,7 @@ class DrawCmd {
|
||||
NVec2 text_box = NVec2(); // Maximum text Box
|
||||
bool screen = false; // Defines Top or Bottom
|
||||
int layer = 0; // Defines the Rendering Layer
|
||||
bool fcs = false; // Floor Coords System
|
||||
bool fcs = false; // Floor Coords System
|
||||
};
|
||||
|
||||
void UI7DrawList::AddRectangle(NVec2 pos, NVec2 szs, PDColor clr) {
|
||||
|
Reference in New Issue
Block a user