summaryrefslogtreecommitdiff
path: root/include/g3dhax.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/g3dhax.h')
-rw-r--r--include/g3dhax.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/include/g3dhax.h b/include/g3dhax.h
index b016e55..d358436 100644
--- a/include/g3dhax.h
+++ b/include/g3dhax.h
@@ -161,6 +161,8 @@ class mAllocator_c : public EGG::Allocator {
mAllocator_c();
~mAllocator_c();
+ bool setup(/*EGG::Heap*/void *heap, s32 align);
+
void *alloc(u32 size);
void free(void *block);
};
@@ -182,19 +184,15 @@ namespace m3d {
void DisableIndirectTexturing();
void InitTexObjWithResTex(GXTexObj *obj, /* ResTex */ void *resTex, GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXTexFilter minFilt, GXTexFilter magFilt);
- // I need to do scnLeaf_c some time...
- class proc_c {
+ class scnLeaf_c {
public:
- proc_c();
- virtual ~proc_c();
+ scnLeaf_c();
+ virtual ~scnLeaf_c();
- void setup(void *allocator = 0, u32 *size = 0);
virtual int returnUnknown();
virtual void free();
virtual bool scheduleForDrawing();
- virtual void drawOpa();
- virtual void drawXlu();
void setScnObjOption(ulong, ulong);
bool getScnObjOption(ulong, ulong*);
@@ -214,8 +212,20 @@ namespace m3d {
void *scnObj;
};
- class banm_c;
+ class proc_c : public scnLeaf_c {
+ public:
+ bool setup(void *allocator = 0, u32 *size = 0);
+
+ int returnUnknown() { return 2; }
+ virtual void drawOpa() = 0;
+ virtual void drawXlu() = 0;
+ };
+
+
+
+ // TODO: bmdl_c/smdl_c
+ class banm_c;
class mdl_c {
public:
mdl_c();