rodecomp/Source/Resource/PaletteResource.cpp
ragnarok-clanker 793f44e5d3 Decompile fn_08040 (CPaletteRes::Load)
Batch #14862 by secret: 0 byte-identical, 1 confirmed by peer review.

- fn_08040 CPaletteRes::Load: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, Tanke, codeplay
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-11-07 20:09:07 +00:00

50 lines
1.2 KiB
C++

#include "Resource/PaletteResource.h"
#include "Client/Application/ErrorDialog.h"
#include "File/File.h"
#include "Render/DeviceContext/DCSurface.h"
#include "Resource/Sprites/SpriteResource.h"
#include "Resource/ResourceMgr.h"
#include <string>
// OFFSET: 0x0075DB60
// FUNCTION: fn_08043
CPaletteRes::CPaletteRes() : sourcePalette{}, palette{} {
}
// INLINED
CPaletteRes::~CPaletteRes() = default;
// OFFSET: 0x0075D730
// FUNCTION: fn_08039
CPaletteRes* CPaletteRes::Create() {
return new CPaletteRes;
}
// OFFSET: 0x0075D7D0
// FUNCTION: fn_08040
bool CPaletteRes::Load(const char* name) {
CFile file;
if (!file.Open(name, 0, true, false)) {
ShowErrorDialog((std::string("CPaletteRes :: Cannot find File : ") + std::string(name)).c_str(), 0);
return false;
}
file.Read(this->sourcePalette, sizeof(this->sourcePalette));
ConvertSpritePalette(this->palette, this->sourcePalette, 256);
file.Close();
return true;
}
// OFFSET: 0x0075DAF0
// FUNCTION: fn_08041
void CPaletteRes::Unload() {
}
// INLINED
CPaletteRes::CPaletteRes(const char* extension, const char* prefix) {
ResourceMgr::Instance().Register(extension, prefix, this);
}
// GLOBAL: gl_25562
CPaletteRes g_palPrototype("pal", "palette\\");