mirror of
https://github.com/open-goal/jak-project
synced 2026-08-13 12:19:35 -04:00
jak2 support
This commit is contained in:
@@ -587,9 +587,7 @@ void MercModelGroup::serialize(Serializer& ser) {
|
||||
ser.from_pod_vector(&vertices);
|
||||
}
|
||||
|
||||
void ShadowModel::serialize(Serializer& ser) {
|
||||
ser.from_str(&name);
|
||||
ser.from_ptr(&max_bones);
|
||||
void ShadowModelFragment::serialize(Serializer& ser) {
|
||||
ser.from_ptr(&first_vertex);
|
||||
ser.from_ptr(&num_one_bone_vertices);
|
||||
ser.from_ptr(&num_two_bone_vertices);
|
||||
@@ -599,6 +597,20 @@ void ShadowModel::serialize(Serializer& ser) {
|
||||
ser.from_pod_vector(&double_edges);
|
||||
}
|
||||
|
||||
void ShadowModel::serialize(Serializer& ser) {
|
||||
ser.from_str(&name);
|
||||
ser.from_ptr(&max_bones);
|
||||
|
||||
if (ser.is_saving()) {
|
||||
ser.save<size_t>(fragments.size());
|
||||
} else {
|
||||
fragments.resize(ser.load<size_t>());
|
||||
}
|
||||
for (auto& frag : fragments) {
|
||||
frag.serialize(ser);
|
||||
}
|
||||
}
|
||||
|
||||
void ShadowModelGroup::serialize(Serializer& ser) {
|
||||
ser.from_pod_vector(&vertices);
|
||||
if (ser.is_saving()) {
|
||||
|
||||
@@ -634,18 +634,21 @@ struct ShadowEdge {
|
||||
u8 tri[2];
|
||||
};
|
||||
|
||||
struct ShadowModelFragment {
|
||||
std::vector<ShadowTri> single_tris, double_tris;
|
||||
std::vector<ShadowEdge> single_edges, double_edges;
|
||||
u32 first_vertex;
|
||||
u32 num_one_bone_vertices;
|
||||
u32 num_two_bone_vertices;
|
||||
void serialize(Serializer& ser);
|
||||
};
|
||||
|
||||
struct ShadowModel {
|
||||
static constexpr int kMaxVertices = 254;
|
||||
static constexpr int kMaxTris = 254;
|
||||
std::string name;
|
||||
u32 max_bones;
|
||||
|
||||
std::vector<ShadowTri> single_tris, double_tris;
|
||||
std::vector<ShadowEdge> single_edges, double_edges;
|
||||
|
||||
u32 first_vertex;
|
||||
u32 num_one_bone_vertices;
|
||||
u32 num_two_bone_vertices;
|
||||
std::vector<ShadowModelFragment> fragments;
|
||||
|
||||
void serialize(Serializer& ser);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user