Difference between revisions of "Namco Museum Megamix"

From The VG Resource Wiki
Jump to: navigation, search
(File Formats)
(.arc (container))
Line 11: Line 11:
 
A C-struct implementation
 
A C-struct implementation
  
''typedef struct arc_header {
+
typedef struct arc_header {
char magic[4];    // = "VCRA"
+
  char magic[4];    // = "VCRA"
int file_count;  // how many stored files in archive
+
  int file_count;  // how many stored files in archive
int size;        // size of the whole file
+
  int size;        // size of the whole file
int zero;        // = 0
+
  int zero;        // = 0
int unknown;      // = "\x05\x02\x07\x20", 0x20070205
+
  int unknown;      // = "\x05\x02\x07\x20", 0x20070205
char padding[44]; // 44 zeroes
+
  char padding[44]; // 44 zeroes
} arc_header_t;
+
} arc_header_t;
  
typedef struct arc_table {
+
typedef struct arc_table {
int offset;    // offset to file data
+
  int offset;    // offset to file data
int size;      // size of file data
+
  int size;      // size of file data
char name[56]; // filename
+
  char name[56]; // filename
} arc_table_t;
+
} arc_table_t;
  
typedef struct arc_file {
+
typedef struct arc_file {
arc_header_t header;
+
  arc_header_t header;
arc_table_t tables[header.file_count];
+
  arc_table_t tables[header.file_count];
char *data[header.file_count]; // raw file streams
+
  char *data[header.file_count]; // raw file streams
} arc_file_t;''
+
} arc_file_t;
  
 
=== Disc Structure ===
 
=== Disc Structure ===

Revision as of 20:29, 27 July 2023

File Formats

.lzs: A compressed format using the lzss0 algorithm
A LZSS implementation in C

.arc: An uncompressed container format utilizing a table of offsets to file entries
(Different from the Wii U8 .arc archive)

.lzs (compressed)

w.i.p.

.arc (container)

A C-struct implementation

typedef struct arc_header {
  char magic[4];    // = "VCRA"
  int file_count;   // how many stored files in archive
  int size;         // size of the whole file
  int zero;         // = 0
  int unknown;      // = "\x05\x02\x07\x20", 0x20070205
  char padding[44]; // 44 zeroes
} arc_header_t;
typedef struct arc_table {
  int offset;    // offset to file data
  int size;      // size of file data
  char name[56]; // filename
} arc_table_t;
typedef struct arc_file {
  arc_header_t header;
  arc_table_t tables[header.file_count];
  char *data[header.file_count]; // raw file streams
} arc_file_t;

Disc Structure

.
├── museum
│   ├── en
│   │   ├── boot.lzs
│   │   ├── g00_dummy
│   │   │   └── g00resident.lzs
│   │   ├── g01_galaga
│   │   │   ├── g01menu.lzs
│   │   │   ├── g01resident.lzs
│   │   │   ├── g01stage01.lzs
│   │   │   ├── g01stage02.lzs
│   │   │   ├── g01stage03.lzs
│   │   │   ├── g01stage04.lzs
│   │   │   ├── g01stage05.lzs
│   │   │   ├── g01stage06.lzs
│   │   │   ├── g01stage07.lzs
│   │   │   ├── g01stage08.lzs
│   │   │   ├── g01stage09.lzs
│   │   │   ├── g01stage10.lzs
│   │   │   ├── g01stagexx.lzs
│   │   │   ├── g01world01.lzs
│   │   │   ├── g01world02.lzs
│   │   │   └── g01world03.lzs
│   │   ├── g02_rallyx
│   │   │   ├── g02game.lzs
│   │   │   ├── g02menu.lzs
│   │   │   ├── g02resident.lzs
│   │   │   ├── g02w01s01.lzs
│   │   │   ├── g02w01s02.lzs
│   │   │   ├── g02w01s03.lzs
│   │   │   ├── g02w01s04.lzs
│   │   │   ├── g02w01s05.lzs
│   │   │   ├── g02w01s06.lzs
│   │   │   ├── g02w02s01.lzs
│   │   │   ├── g02w02s02.lzs
│   │   │   ├── g02w02s03.lzs
│   │   │   ├── g02w02s04.lzs
│   │   │   ├── g02w02s05.lzs
│   │   │   ├── g02w02s06.lzs
│   │   │   ├── g02w03s01.lzs
│   │   │   ├── g02w03s02.lzs
│   │   │   ├── g02w03s03.lzs
│   │   │   ├── g02w03s04.lzs
│   │   │   ├── g02w03s05.lzs
│   │   │   ├── g02w03s06.lzs
│   │   │   ├── g02w04s01.lzs
│   │   │   ├── g02w04s02.lzs
│   │   │   ├── g02w04s03.lzs
│   │   │   ├── g02w04s04.lzs
│   │   │   ├── g02w04s05.lzs
│   │   │   ├── g02w04s06.lzs
│   │   │   ├── g02w11s01.lzs
│   │   │   ├── g02w11s02.lzs
│   │   │   ├── g02w11s03.lzs
│   │   │   ├── g02w11s04.lzs
│   │   │   ├── g02w11sxx.lzs
│   │   │   └── g02wxxsxx.lzs
│   │   ├── g03_pacnroll
│   │   │   ├── g03menu.lzs
│   │   │   ├── g03resident.lzs
│   │   │   ├── g03w01s01.lzs
│   │   │   ├── g03w01s02.lzs
│   │   │   ├── g03w01s03.lzs
│   │   │   ├── g03w01s04.lzs
│   │   │   ├── g03w01s05.lzs
│   │   │   ├── g03w02s01.lzs
│   │   │   ├── g03w02s02.lzs
│   │   │   ├── g03w02s03.lzs
│   │   │   ├── g03w02s04.lzs
│   │   │   ├── g03w03s01.lzs
│   │   │   ├── g03w03s02.lzs
│   │   │   ├── g03w03s03.lzs
│   │   │   ├── g03w03s04.lzs
│   │   │   ├── g03w03s05.lzs
│   │   │   ├── g03w04s01.lzs
│   │   │   ├── g03w04s02.lzs
│   │   │   ├── g03w04s03.lzs
│   │   │   ├── g03w04s04.lzs
│   │   │   ├── g03w04s05.lzs
│   │   │   ├── g03w04s06.lzs
│   │   │   ├── g03w05s01.lzs
│   │   │   ├── g03w05s02.lzs
│   │   │   ├── g03w05s03.lzs
│   │   │   ├── g03w05s04.lzs
│   │   │   ├── g03w05s05.lzs
│   │   │   ├── g03w05s06.lzs
│   │   │   ├── g03wXXs01.lzs
│   │   │   ├── g03wXXs02.lzs
│   │   │   ├── g03wXXs03.lzs
│   │   │   └── g03wXXs04.lzs
│   │   ├── g04_waniwani
│   │   │   ├── g04resident2.lzs
│   │   │   ├── g04resident3.lzs
│   │   │   └── g04resident.lzs
│   │   ├── g07_motos
│   │   │   ├── g07enemy.lzs
│   │   │   ├── g07menu.lzs
│   │   │   ├── g07resident.lzs
│   │   │   ├── g07vs01.lzs
│   │   │   ├── g07vs02.lzs
│   │   │   ├── g07vs03.lzs
│   │   │   ├── g07vs04.lzs
│   │   │   ├── g07vs05.lzs
│   │   │   ├── g07vs06.lzs
│   │   │   ├── g07vs07.lzs
│   │   │   ├── g07vs08.lzs
│   │   │   ├── g07vs09.lzs
│   │   │   ├── g07vs10.lzs
│   │   │   ├── g07w01s01.lzs
│   │   │   ├── g07w01s02.lzs
│   │   │   ├── g07w01s03.lzs
│   │   │   ├── g07w01s04.lzs
│   │   │   ├── g07w01s05.lzs
│   │   │   ├── g07w01s06.lzs
│   │   │   ├── g07w01s07.lzs
│   │   │   ├── g07w02s01.lzs
│   │   │   ├── g07w02s02.lzs
│   │   │   ├── g07w02s03.lzs
│   │   │   ├── g07w02s04.lzs
│   │   │   ├── g07w02s05.lzs
│   │   │   ├── g07w02s06.lzs
│   │   │   ├── g07w02s07.lzs
│   │   │   ├── g07w03s01.lzs
│   │   │   ├── g07w03s02.lzs
│   │   │   ├── g07w03s03.lzs
│   │   │   ├── g07w03s04.lzs
│   │   │   ├── g07w03s05.lzs
│   │   │   ├── g07w03s06.lzs
│   │   │   ├── g07w03s07.lzs
│   │   │   ├── g07w04s01.lzs
│   │   │   ├── g07w04s02.lzs
│   │   │   ├── g07w04s03.lzs
│   │   │   ├── g07w04s04.lzs
│   │   │   ├── g07w04s05.lzs
│   │   │   ├── g07w04s06.lzs
│   │   │   ├── g07w04s07.lzs
│   │   │   ├── g07w05s01.lzs
│   │   │   ├── g07w05s02.lzs
│   │   │   ├── g07w05s03.lzs
│   │   │   ├── g07w05s04.lzs
│   │   │   ├── g07w05s05.lzs
│   │   │   ├── g07w05s06.lzs
│   │   │   ├── g07w05s07.lzs
│   │   │   └── g07wxxsxx.lzs
│   │   ├── g10_menu
│   │   │   ├── attract.thp
│   │   │   ├── g10menu.lzs
│   │   │   ├── g10resident.lzs
│   │   │   └── g10title.lzs
│   │   ├── rso_original
│   │   │   ├── nmwii.rso
│   │   │   └── nmwii.sel
│   │   ├── sound
│   │   │   ├── stream
│   │   │   │   ├── DAMMY.brstm
│   │   │   │   ├── m00bgm_Menu.brstm
│   │   │   │   ├── m00bgm_Title.brstm
│   │   │   │   ├── m01bgm_Boss1.brstm
│   │   │   │   ├── m01bgm_Select.brstm
│   │   │   │   ├── m01bgm_World1.brstm
│   │   │   │   ├── m01bgm_World2.brstm
│   │   │   │   ├── m01bgm_World3.brstm
│   │   │   │   ├── m02bgm_redcar.brstm
│   │   │   │   ├── m02bgm_select.brstm
│   │   │   │   ├── m02bgm_World1.brstm
│   │   │   │   ├── m02bgm_world2.brstm
│   │   │   │   ├── m02bgm_world3.brstm
│   │   │   │   ├── m02bgm_world4.brstm
│   │   │   │   ├── m03bgm_Boss1.brstm
│   │   │   │   ├── m03bgm_Boss2.brstm
│   │   │   │   ├── m03bgm_Ending.brstm
│   │   │   │   ├── m03bgm_Goal.brstm
│   │   │   │   ├── m03bgm_select.brstm
│   │   │   │   ├── m03bgm_World1.brstm
│   │   │   │   ├── m03bgm_World2.brstm
│   │   │   │   ├── m03bgm_World3_2.brstm
│   │   │   │   ├── m03bgm_World3.brstm
│   │   │   │   ├── m03bgm_World4.brstm
│   │   │   │   ├── m03bgm_world5.brstm
│   │   │   │   ├── m04bgm_Game1.brstm
│   │   │   │   ├── m04bgm_Game2.brstm
│   │   │   │   ├── m04bgm_Select.brstm
│   │   │   │   ├── m07bgm_Boss1.brstm
│   │   │   │   ├── m07bgm_Boss2.brstm
│   │   │   │   ├── m07bgm_Select.brstm
│   │   │   │   ├── m07bgm_World1.brstm
│   │   │   │   ├── m07bgm_World2.brstm
│   │   │   │   └── m07bgm_World5.brstm
│   │   │   └── Wii_Wander.brsar
│   │   └── staffroll.lzs
│   ├── resident.arc
│   └── resource.lzs
└── opening.bnr