summaryrefslogtreecommitdiff
path: root/include/m_Do/m_Do_ext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/m_Do/m_Do_ext.h')
-rw-r--r--include/m_Do/m_Do_ext.h47
1 files changed, 35 insertions, 12 deletions
diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h
index 7c0756e8..f970b207 100644
--- a/include/m_Do/m_Do_ext.h
+++ b/include/m_Do/m_Do_ext.h
@@ -454,9 +454,10 @@ public:
void reset() { mp3DlineMat = NULL; }
- void setMat(mDoExt_3DlineMat_c* pMat);
+ void setMat(mDoExt_3DlineMat_c* i_3DlineMat);
+
virtual void draw();
- virtual ~mDoExt_3DlineMatSortPacket();
+ virtual ~mDoExt_3DlineMatSortPacket() {}
private:
/* 0x10 */ mDoExt_3DlineMat_c* mp3DlineMat;
@@ -588,11 +589,22 @@ public:
~mDoExt_3DlineMat0_c() {}
BOOL init(u16 numLines, u16 numSegments, BOOL hasSize);
- void setMaterial();
- void draw();
- void update(u16, f32, GXColor&, u16, dKy_tevstr_c*);
- void update(u16, GXColor&, dKy_tevstr_c*);
- int getMaterialID();
+ void update(u16 i_segs, f32 i_size, GXColor& i_color, u16 i_space, dKy_tevstr_c* i_tevStr);
+ void update(u16 i_segs, GXColor& i_color, dKy_tevstr_c* i_tevStr);
+ // some calls to these functions define i_color inline which is illegal in C++ for a non-const
+ // reference parameter - we add these overloads to enable standard compiler compatibility
+#if !__MWERKS__
+ void update(u16 i_segs, f32 i_size, const _GXColor& i_color, u16 i_space, dKy_tevstr_c* i_tevStr) {
+ update(i_segs, i_size, const_cast<_GXColor&>(i_color), i_space, i_tevStr);
+ }
+ void update(u16 i_segs, const _GXColor& i_color, dKy_tevstr_c* i_tevStr) {
+ update(i_segs, const_cast<_GXColor&>(i_color), i_tevStr);
+ }
+#endif
+
+ virtual int getMaterialID() { return 0; }
+ virtual void setMaterial();
+ virtual void draw();
cXyz* getPos(int i_idx) { return mpLines[i_idx].mpSegments; }
u8* getSize(int i_idx) { return mpLines[i_idx].mpSize; }
@@ -612,11 +624,22 @@ public:
~mDoExt_3DlineMat1_c() {}
BOOL init(u16 numLines, u16 numSegments, ResTIMG* i_img, BOOL hasSize);
- void setMaterial();
- void draw();
- void update(u16, f32, GXColor&, u16, dKy_tevstr_c*);
- void update(u16, GXColor&, dKy_tevstr_c*);
- int getMaterialID();
+ void update(u16 i_segs, f32 i_size, GXColor& i_color, u16 i_space, dKy_tevstr_c* i_tevStr);
+ void update(u16 i_segs, GXColor& i_color, dKy_tevstr_c* i_tevStr);
+ // some calls to these functions define i_color inline which is illegal in C++ for a non-const
+ // reference parameter - we add these overloads to enable standard compiler compatibility
+#if !__MWERKS__
+ void update(u16 i_segs, f32 i_size, const GXColor& i_color, u16 i_space, dKy_tevstr_c* i_tevStr) {
+ update(i_segs, i_size, const_cast<GXColor&>(i_color), i_space, i_tevStr);
+ }
+ void update(u16 i_segs, const GXColor& i_color, dKy_tevstr_c* i_tevStr) {
+ update(i_segs, const_cast<GXColor&>(i_color), i_tevStr);
+ }
+#endif
+
+ virtual int getMaterialID() { return 1; }
+ virtual void setMaterial();
+ virtual void draw();
cXyz* getPos(int i_idx) { return mpLines[i_idx].mpSegments; }
u8* getSize(int i_idx) { return mpLines[i_idx].mpSize; }