diff options
Diffstat (limited to 'src/engine/StaticMeshActor.cpp')
| -rw-r--r-- | src/engine/StaticMeshActor.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/engine/StaticMeshActor.cpp b/src/engine/StaticMeshActor.cpp new file mode 100644 index 000000000..2e5fa1119 --- /dev/null +++ b/src/engine/StaticMeshActor.cpp @@ -0,0 +1,29 @@ +#include "StaticMeshActor.h" +#include <libultra/gbi.h> +#include "Matrix.h" + +extern "C" { +#include "main.h" +#include "math_util.h" +#include "math_util_2.h" +} + +StaticMeshActor::StaticMeshActor(std::string name, FVector pos, IRotator rot, FVector scale, std::string model, int32_t* collision) : Name(name), Pos(pos), Rot(rot), Scale(scale), Model(""), Collision(collision) { + +} + +void StaticMeshActor::Draw() { + Mat4 mtx; + gSPSetGeometryMode(gDisplayListHead++, G_SHADING_SMOOTH); + gSPClearGeometryMode(gDisplayListHead++, G_LIGHTING); + if (!Model.empty()) { + ApplyMatrixTransformations(mtx, Pos, Rot, Scale); + if (render_set_position(mtx, 0) != 0) { + gSPDisplayList(gDisplayListHead++, (Gfx*)Model.c_str()); + } + } +} + +void StaticMeshActor::Destroy() { + bPendingDestroy = true; +} |
