32 lines
748 B
C++
32 lines
748 B
C++
#ifndef OPENROLLER_GC_TUMOMODEL_HPP
|
|
#define OPENROLLER_GC_TUMOMODEL_HPP
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace gc {
|
|
|
|
struct TumoVertex {
|
|
float x = 0.0f;
|
|
float y = 0.0f;
|
|
float z = 0.0f;
|
|
};
|
|
|
|
struct TumoGeometry {
|
|
std::vector<TumoVertex> triangles;
|
|
std::vector<TumoVertex> solidLines;
|
|
std::vector<TumoVertex> wireframeLines;
|
|
std::uint32_t meshCount = 0;
|
|
std::uint32_t nodeCount = 0;
|
|
};
|
|
|
|
// Decodes and aggregates every static TUMO mesh used by gameplay stage objects.
|
|
// Polygon fans are expanded on the host so the PSP only has to submit flat
|
|
// GU_TRIANGLES/GU_LINES arrays.
|
|
bool LoadTumoGeometry(const std::string& path, TumoGeometry* out, std::string* error);
|
|
|
|
} // namespace gc
|
|
|
|
#endif
|