Skip to content

Commit ae8ed1d

Browse files
committed
Fix packing/unpacking DL online and mission moby classes
1 parent 3d4b3fe commit ae8ed1d

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

src/assetmgr/asset_dispatch.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ class Asset;
4545
#define FMT_COLLECTION_PIF8 "texlist,pif,8,1,unswizzled"
4646
#define FMT_COLLECTION_PIF8_4MIPS "texlist,pif,8,4,unswizzled"
4747
#define FMT_COLLECTION_MATLIST_PIF8 "matlist,pif,8,1,unswizzled"
48+
#define FMT_COLLECTION_MATLIST_PIF8_4MIPS "matlist,pif,8,4,unswizzled"
4849
#define FMT_COLLECTION_SUBTITLES "subtitles"
4950
#define FMT_COLLECTION_MISSION_CLASSES "missionclasses"
5051
#define FMT_GLOBALWAD_NOMPEGS "nompegs"

src/wrenchbuild/common/collection_asset.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ static void pack_collection_asset(OutputStream& dest, const CollectionAsset& src
8383
static void unpack_texture_list(CollectionAsset& dest, InputStream& src, BuildConfig config, const char* hint)
8484
{
8585
s32 count = src.read<s32>(0);
86-
verify(count < 0x1000, "texlist has too many elements and is probably corrupted.");
86+
verify(count < 0x1000, "matlist has too many elements and is probably corrupted.");
8787
src.seek(4);
8888
std::vector<s32> offsets = src.read_multiple<s32>(count);
8989
for (s32 i = 0; i < count; i++) {
@@ -204,7 +204,7 @@ static void unpack_mission_classes(CollectionAsset& dest, InputStream& src, Buil
204204
}
205205

206206
ByteRange textures_range{entry.texture_list_offset, end - entry.texture_list_offset};
207-
unpack_asset(materials, src, textures_range, config, FMT_COLLECTION_PIF8_4MIPS);
207+
unpack_asset(materials, src, textures_range, config, FMT_COLLECTION_MATLIST_PIF8_4MIPS);
208208
}
209209

210210
if (entry.class_offset != 0) {
@@ -253,7 +253,7 @@ static void pack_mission_classes(OutputStream& dest, const CollectionAsset& src,
253253
});
254254

255255
if (material_count > 0) {
256-
entry.texture_list_offset = pack_asset<ByteRange>(dest, moby.get_materials(), config, 0x10, FMT_COLLECTION_PIF8_4MIPS).offset;
256+
entry.texture_list_offset = pack_asset<ByteRange>(dest, moby.get_materials(), config, 0x10, FMT_COLLECTION_MATLIST_PIF8_4MIPS).offset;
257257
}
258258
}
259259

src/wrenchbuild/globals/online_data_wad.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ static void unpack_online_data_wad(OnlineDataWadAsset& dest, InputStream& src, B
5050
CollectionAsset& moby_classes = dest.moby_classes(SWITCH_FILES);
5151
for (s32 i = 0; i < ARRAY_SIZE(header.moby_classes); i++) {
5252
MobyClassAsset& moby = moby_classes.foreign_child<MobyClassAsset>(i);
53-
unpack_compressed_asset(moby.materials(), src, header.moby_classes[i].textures, config, FMT_COLLECTION_PIF8);
53+
unpack_compressed_asset(moby.materials(), src, header.moby_classes[i].textures, config, FMT_COLLECTION_MATLIST_PIF8);
5454
unpack_compressed_asset(moby, src, header.moby_classes[i].core, config, FMT_MOBY_CLASS_PHAT);
5555
}
5656
}
@@ -68,7 +68,7 @@ static void pack_online_data_wad(OutputStream& dest, const OnlineDataWadAsset& s
6868
const MobyClassAsset& moby = moby_classes.get_child(i).as<MobyClassAsset>();
6969
header.moby_classes[i].core = pack_compressed_asset<ByteRange>(dest, moby.get_core(), config, 0x10, "moby_core", FMT_MOBY_CLASS_PHAT);
7070
if (moby.has_materials()) {
71-
header.moby_classes[i].textures = pack_compressed_asset<ByteRange>(dest, moby.get_materials(), config, 0x10, "textures", FMT_COLLECTION_PIF8);
71+
header.moby_classes[i].textures = pack_compressed_asset<ByteRange>(dest, moby.get_materials(), config, 0x10, "textures", FMT_COLLECTION_MATLIST_PIF8);
7272
}
7373
}
7474
}

0 commit comments

Comments
 (0)