OdysseyDecomp/lib/al/include/Library/Model/ModelDrawerBase.h
MonsterDruide1 69d81ebd91
Custom format validation (Linting) (#17)
* Add script to verify formatting
* Add newline to end of files
* Add `#pragma once` to top of headers
* Add own header to includes at top of source files
* Remove useless namespace qualifiers
* Sort visibility modifiers correctly
* Format `#include`s in three blocks
* Remove `;` after namespaces
* Add for custom style checking to `lint`-GitHub-Action
* Format: No "// 0x" offset comments
* Remove macros from padding
2024-01-07 00:33:09 +01:00

47 lines
1.1 KiB
C++

#pragma once
#include <basis/seadTypes.h>
#include "Library/HostIO/HioNode.h"
namespace agl {
class DrawContext;
}
namespace al {
class GraphicsSystemInfo;
class ModelDrawBufferCounter;
class ModelKeeper;
class ModelDrawDisplayList;
class ModelCtrl;
class ModelDrawerBase : public HioNode {
public:
void createTable();
virtual void registerModel(ModelCtrl*);
virtual void addModel(ModelCtrl*);
virtual void removeModel(ModelCtrl*);
virtual void updateModel(ModelCtrl*);
void setDrawInfo(agl::DrawContext*, const GraphicsSystemInfo*, const ModelDrawBufferCounter*,
const ModelKeeper*);
void addModelToTable(ModelCtrl*);
void getDrawBufferIndex();
void createModelDrawDisplayList(s32);
bool isDraw() const;
private:
const char* mName;
agl::DrawContext* mDrawCtx;
const ModelKeeper* mModelKeeper;
const GraphicsSystemInfo* mGraphicsSystemInfo;
const ModelDrawBufferCounter* mModelDrawBufferCounter;
ModelDrawDisplayList* mDrawDisplayList;
s32 mCapacity;
s32 mSize;
ModelCtrl** mMdlCtrls;
void* field_48;
};
} // namespace al