diff options
Diffstat (limited to 'src/cutScene.cpp')
-rw-r--r-- | src/cutScene.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/cutScene.cpp b/src/cutScene.cpp new file mode 100644 index 0000000..27fbafc --- /dev/null +++ b/src/cutScene.cpp @@ -0,0 +1,59 @@ +#include "cutScene.h" + +dScCutScene_c *dScCutScene_c::instance = 0; + +dScCutScene_c *dScCutScene_c::build() { + // return new dScCutScene_c; + void *buffer = AllocFromGameHeap1(sizeof(dScCutScene_c)); + dScCutScene_c *c = new(buffer) dScCutScene_c; + + instance = c; + return c; +} + +dScCutScene_c::dScCutScene_c() : state(this) { +} + + + +int dScCutScene_c::onCreate() { + *CurrentDrawFunc = CutSceneDrawFunc; + + return true; +} + +int dScCutScene_c::onDelete() { + return true; +} + +int dScCutScene_c::onExecute() { + return true; +} + +int dScCutScene_c::onDraw() { + return true; +} + +void CutSceneDrawFunc() { + Reset3DState(); + SetupLYTDrawing(); + DrawAllLayoutsBeforeX(0x81); + RenderEffects(0, 3); + RenderEffects(0, 2); + GXDrawDone(); + RemoveAllFromScnRoot(); + Reset3DState(); + SetCurrentCameraID(1); + DoSpecialDrawing1(); + SetCurrentCameraID(0); + for (int i = 0; i < 4; i++) + RenderEffects(0, 0xB+i); + for (int i = 0; i < 4; i++) + RenderEffects(0, 7+i); + GXDrawDone(); + // Leaving out some stuff here + DrawAllLayoutsAfterX(0x80); + ClearLayoutDrawList(); + SetCurrentCameraID(0); +} + |