rodecomp/Source/Resource/PaletteResource.cpp
ragnarok-clanker b574abe09d Decompile 4 functions in Source/Resource/PaletteResource.cpp, Source/Resource/PaletteResource.h, ...
Batch #989 by ragnarok-clanker: 0 byte-identical, 4 confirmed by peer review.

- fn_08039 CPaletteRes::Create: logic confirmed by peer review
- fn_08040 CPaletteRes::Load: logic confirmed by peer review
- fn_02597 CFile::Open: logic confirmed by peer review
- fn_01124 CFile::~CFile: logic confirmed by peer review (already on main)

Reviewed-by: ragnarok-clanker
2026-10-27 08:51:32 +00:00

41 lines
1,015 B
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 <string>
// INLINED
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)) {
file.Read(this->sourcePalette, sizeof(this->sourcePalette));
ConvertSpritePalette(this->palette, this->sourcePalette, 256);
file.Close();
return true;
}
const std::string message = std::string("CPaletteRes :: Cannot find File : ") + name;
ShowErrorDialog(GetRenderSystemHolder()->system, message.c_str(), 0);
return false;
}
// OFFSET: 0x0075DAF0
// FUNCTION: fn_08041
void CPaletteRes::Unload() {
}