Add initial Link chunk parsing
This commit is contained in:
parent
dd2aeeb66d
commit
f0de440e06
|
@ -26,6 +26,7 @@
|
||||||
#include "db_files/chunks/FLOW_TEX.hexpat"
|
#include "db_files/chunks/FLOW_TEX.hexpat"
|
||||||
#include "db_files/chunks/FOGZONEVAR.hexpat"
|
#include "db_files/chunks/FOGZONEVAR.hexpat"
|
||||||
#include "db_files/chunks/HotRegions.hexpat"
|
#include "db_files/chunks/HotRegions.hexpat"
|
||||||
|
#include "db_files/chunks/L$_.hexpat"
|
||||||
#include "db_files/chunks/MAPISRC.hexpat"
|
#include "db_files/chunks/MAPISRC.hexpat"
|
||||||
#include "db_files/chunks/Mission_GameSysEAX.hexpat"
|
#include "db_files/chunks/Mission_GameSysEAX.hexpat"
|
||||||
#include "db_files/chunks/MultiBrush.hexpat"
|
#include "db_files/chunks/MultiBrush.hexpat"
|
||||||
|
|
|
@ -88,6 +88,13 @@ struct TOCEntry {
|
||||||
if (std::string::starts_with(name, "P$")) {
|
if (std::string::starts_with(name, "P$")) {
|
||||||
Chunk<PropertyMap> property_chunk @ offset [[name(name)]];
|
Chunk<PropertyMap> property_chunk @ offset [[name(name)]];
|
||||||
}
|
}
|
||||||
|
// if (std::string::starts_with(name, "LD$")) {
|
||||||
|
// std::print("LD: {}", name);
|
||||||
|
// }
|
||||||
|
if (std::string::starts_with(name, "L$")) {
|
||||||
|
Chunk<LinkMap> link_chunk @ offset [[name(name)]];
|
||||||
|
// std::print("L: {}", name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Common.hexpat"
|
||||||
|
|
||||||
|
bitfield LinkId {
|
||||||
|
id: 16;
|
||||||
|
concrete: 4;
|
||||||
|
relation: 12;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct Link {
|
||||||
|
LinkId id;
|
||||||
|
s32 source;
|
||||||
|
s32 destination;
|
||||||
|
u16 relation;
|
||||||
|
// if (source > 0 || destination > 0) {
|
||||||
|
// std::print("Link: {}, Id: {}, Src: {}, Dest: {}, Flavor: {}", parent.parent.parent.name, id, source, destination, relation);
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
|
||||||
|
struct LinkMap {
|
||||||
|
u32 max = parent.parent.data_end;
|
||||||
|
Link links[while($ < max)];
|
||||||
|
};
|
Loading…
Reference in New Issue