====== Mozaïc ======
[[https://www.youtube.com/watch?v=YygmFM3qP8w]]
===== Install on Wine =====
This game makes heavy use of the Indeo 5 codec so make sure to install it. Ideally, use a 32-bit prefix and pretend you're Windows XP or 98.
export WINEARCH=win32
export WINEPREFIX=~/.wine32
winetricks -q icodecs
wine /mnt/cdrom/Mozaic.exe
===== PAK file format =====
Data is in little-endian. Similar to Quake.
^Nom^Type^Offset^Size^Notes^
|magic|string|0|4 bytes|"PACK"|
|size|u32|4|4 bytes|Number of entries|
|???| |8|32 bytes|Unknown|
|filelist|File|40|size * (12 + name)| |
==== File ====
^Nom^Type^Offset^Size^Notes^
|filesize|u32|0|4 bytes| |
|offset|u32|4|4 bytes|Byte offset from the beginning of the file|
|???|u32|8|4 bytes|Unknown|
|name|Null-terminated string|12| |File path and name|
==== ImHex pattern ====
import std.string;
struct File {
u32 filesize;
u32 offset;
u32 unknown;
std::string::NullString name;
char data[filesize] @ offset;
};
char magic[4] @ 0;
u32 size @ 4;
char unknown[32] @ 8;
File filelist[size] @ 40;