mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-29 16:14:54 -04:00
41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
|
|
|
#include "JSystem/JUtility/JUTPalette.h"
|
|
#include <gx.h>
|
|
#include <os.h>
|
|
|
|
void JUTPalette::storeTLUT(GXTlut param_0, ResTLUT* tlut) {
|
|
if (tlut == NULL) {
|
|
OSPanic("JUTPalette.cpp", 35, "JUTTexture: TLUT is NULL\n");
|
|
}
|
|
mTlutName = param_0;
|
|
mFormat = (const u8)tlut->format;
|
|
mTransparency = (const u8)tlut->transparency;
|
|
mNumColors = tlut->numColors;
|
|
mColorTable = (ResTLUT*)((u8*)tlut + 0x20);
|
|
GXInitTlutObj(&mTlutObj, (void*)mColorTable, (GXTlutFmt)mFormat, mNumColors);
|
|
}
|
|
|
|
void JUTPalette::storeTLUT(GXTlut param_0, GXTlutFmt param_1, JUTTransparency param_2,
|
|
u16 param_3, void* param_4) {
|
|
mTlutName = param_0;
|
|
mFormat = param_1;
|
|
mTransparency = param_2;
|
|
mNumColors = param_3;
|
|
mColorTable = (ResTLUT*)param_4;
|
|
GXInitTlutObj(&mTlutObj, (void*)mColorTable, (GXTlutFmt)mFormat, mNumColors);
|
|
}
|
|
|
|
bool JUTPalette::load() {
|
|
bool check = mNumColors != 0;
|
|
if (check) {
|
|
#if TARGET_PC
|
|
GXLoadTlut(&mTlutObj, (GXTlut)mTlutName);
|
|
#else
|
|
GXLoadTlut(&mTlutObj, mTlutName);
|
|
#endif
|
|
}
|
|
|
|
return check;
|
|
}
|