Add ObjVec pattern

This commit is contained in:
Jarrod Doyle 2024-08-23 15:37:15 +01:00
parent 74c7da7bdf
commit 523f94206b
Signed by: Jayrude
GPG Key ID: 38B57B16E7C0ADF7
4 changed files with 15 additions and 2 deletions

View File

@ -36,7 +36,7 @@
- [X] MAPISRC - [X] MAPISRC
- [X] MissionEAX - [X] MissionEAX
- [X] MultiBrush - [X] MultiBrush
- [ ] ObjVec - [X] ObjVec
- [X] OBJ_MAP - [X] OBJ_MAP
- [ ] PHYS_SYSTEM - [ ] PHYS_SYSTEM
- [ ] PLAYER - [ ] PLAYER

View File

@ -31,6 +31,7 @@
#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"
#include "db_files/chunks/OBJ_MAP.hexpat" #include "db_files/chunks/OBJ_MAP.hexpat"
#include "db_files/chunks/ObjVec.hexpat"
#include "db_files/chunks/P$_.hexpat" #include "db_files/chunks/P$_.hexpat"
#include "db_files/chunks/Relations.hexpat" #include "db_files/chunks/Relations.hexpat"
#include "db_files/chunks/RENDPARAMS.hexpat" #include "db_files/chunks/RENDPARAMS.hexpat"

View File

@ -70,6 +70,7 @@ struct TOCEntry {
("MissionEAX"): Chunk<AccousticsProperty> mission_eax @ offset; ("MissionEAX"): Chunk<AccousticsProperty> mission_eax @ offset;
("MultiBrush"): Chunk<MultiBrush> multibrush @ offset; ("MultiBrush"): Chunk<MultiBrush> multibrush @ offset;
("OBJ_MAP"): Chunk<ObjMap> obj_map @ offset; ("OBJ_MAP"): Chunk<ObjMap> obj_map @ offset;
("ObjVec"): Chunk<ObjVec> obj_vec @ offset;
("Relations"): Chunk<Relations> relations @ offset; ("Relations"): Chunk<Relations> relations @ offset;
("RENDPARAMS"): Chunk<RendParams> rend_params @ offset; ("RENDPARAMS"): Chunk<RendParams> rend_params @ offset;
("ROOM_DB"): Chunk<RoomDb> room_db @ offset; ("ROOM_DB"): Chunk<RoomDb> room_db @ offset;
@ -92,10 +93,13 @@ struct TOCEntry {
// if (std::string::starts_with(name, "LD$")) { // if (std::string::starts_with(name, "LD$")) {
// std::print("LD: {}", name); // std::print("LD: {}", name);
// } // }
if (std::string::starts_with(name, "L$")) { else if (std::string::starts_with(name, "L$")) {
Chunk<LinkMap> link_chunk @ offset [[name(name)]]; Chunk<LinkMap> link_chunk @ offset [[name(name)]];
// std::print("L: {}", name); // std::print("L: {}", name);
} }
else {
std::print("Didn't load chunk: {}", name);
}
} }
} }
}; };

View File

@ -0,0 +1,8 @@
#pragma once
struct ObjVec {
s32 min_id;
s32 max_id;
s32 byte_count = (max_id - min_id) / 8;
u8 bitmap[byte_count] [[comment("Each bit indicates whether that ID is being used.")]];
};