SuperMarioOdysseyOnline/include/agl/shader/ShaderProgramArchive.h

38 lines
999 B
C++

/**
* @file ShaderProgramArchive.h
* @brief Defines a class wrapper for SHARCB (Shader Binary) archives.
*/
#pragma once
#include "sead/disposer.h"
#include "sead/heap.h"
#include "sead/hostio.h"
namespace agl
{
class ResBinaryShaderArchive;
class ResShaderArchive;
class ResShaderProgram;
class ResShaderSource;
class ShaderProgramArchive : public sead::IDisposer, public sead::hostio::Node
{
public:
ShaderProgramArchive();
virtual ~ShaderProgramArchive();
void destroy();
void createWithOption(agl::ResBinaryShaderArchive, agl::ResShaderArchive, u32, sead::Heap *);
void destroyResFile_();
void initialize(agl::ShaderProgramArchive *, s32, agl::ResShaderProgram, sead::Heap *);
void updateCompileInfo();
void setUp();
void setUp_(bool);
u64 _20;
agl::ResBinaryShaderArchive* mBinaryShaderArchive; // _28
agl::ResShaderArchive* mResShaderArchive; // _30
};
};