mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 21:27:52 -04:00
6446389263
* extractor: refactor and cleanup for multi-game support * deps: switch to `ghc::filesystem` as it is utf-8 everywhere by default * extractor: finally working with unicode * unicode: fix unicode cli args on windows in all `main` functions
36 lines
889 B
C++
36 lines
889 B
C++
#pragma once
|
|
|
|
#include <set>
|
|
#include <string>
|
|
#include <unordered_map>
|
|
#include <vector>
|
|
|
|
#include "common/common_types.h"
|
|
#include "common/util/FileUtil.h"
|
|
|
|
namespace decompiler {
|
|
struct TextureDB {
|
|
struct TextureData {
|
|
u16 w, h;
|
|
std::string name;
|
|
u32 page;
|
|
std::vector<u32> rgba_bytes;
|
|
};
|
|
|
|
std::unordered_map<u32, TextureData> textures;
|
|
std::unordered_map<u32, std::string> tpage_names;
|
|
std::unordered_map<std::string, std::set<u32>> texture_ids_per_level;
|
|
|
|
void add_texture(u32 tpage,
|
|
u32 texid,
|
|
const std::vector<u32>& data,
|
|
u16 w,
|
|
u16 h,
|
|
const std::string& tex_name,
|
|
const std::string& tpage_name,
|
|
const std::vector<std::string>& level_names);
|
|
|
|
void replace_textures(const fs::path& path);
|
|
};
|
|
} // namespace decompiler
|