Super Mario Party .BEA(Bezel Engine)

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

So, Super Mario Party leaked and we can now browse the games files.
Image
All the game files for models, sound effects etc etc are all in the Archive folder stored in .BEA files, which i think means Bezel Engine Archive?
(Interestingly the boot.lua file isn't even compiled and lists things like pool sizes and screen resolutions. NRO is a switch executable format from what i know as well.)

But as i mentioned before, the real meat of the data is in the Archive folder.
There is 456 of these .BEA files in this folder with the biggest one being just over 67MB.
https://cdn.discordapp.com/attachments/419711036837330956/497095262347591680/charapcpc01_mario.nxonnx32.bea
Here is the BEA file for Mario, which is around 10MB.

Hope someone can help extract these :)
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

Just tried the BMS script for vroom in the night sky.
It works...kinda.

Code: Select all

Error: incomplete input file 0: C:\Users\faint\Documents\SwitchDumps\SuperMarioParty\romfs\Archive\chara~pc~pc01_mario.nxonnx32.bea
       Can't read 154302 bytes from offset 00a89922.
       Anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted.
       Please check the following coverage information to know if it's ok.

  coverage file 0   202%   22379419   11049250   . offset 00a89922

Last script line before the error or that produced the error:
  77  log NAME OFFSET SIZE
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

Finally the compressed samples I need to complete my script :D
New version:
http://aluigi.org/bms/vroom_scne.bms
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

Awesome!
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

Image
Some files get this.
No matter how many times i make a new file name it never stops(I held enter for like a minute just to see)
ShrineFox
Posts: 2
Joined: Fri Oct 05, 2018 12:44 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by ShrineFox »

I'm getting this with any BEA file I try to extract with that script
Image
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

Updated script or old script?
ShrineFox
Posts: 2
Joined: Fri Oct 05, 2018 12:44 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by ShrineFox »

Updated, but I think it's because my quickbms was outdated. Working now, false alarm. Great work guys!
Would love to see a way to repack the BEA files for modding purposes
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

Me too.
But extracting without error is probably needed before recreating a BEA
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

@ShrineFox and @CosmicDreams
Upload your 2 samples that give those 2 separate problems.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

The script has no problems with that sample.
CosmicDreams
Posts: 100
Joined: Thu Sep 13, 2018 6:38 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by CosmicDreams »

Interesting.
It does manage to dump everything successfully just with that weird oddity.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

Ah sorry, I tought it was the compression error reported by the other user.

I checked the archive and yes, it has a filename stored in that way: path/name/name.
It's not an error of the script but it's just the original filename and the size of the name (16bit field) confirms it.
For the record the following are the technical info about the 2 files with colliding name/path:

Code: Select all

. 00000380
. 00000000 getarr  OFFSET     0x00018920 0:896
. 00018920 idstr              "ASST" 4
    41 53 53 54                                       ASST
. 00018924 get     SIZE       0x00000030 4
. 00018928 get     ZERO       0x00000030 4
. 0001892c get     ZERO       0x00000000 4
. 00018930 get     DUMMY      0x000c0002 4
. 00018934 get     ZSIZE      0x0005c655 4
. 00018938 get     SIZE       0x0043d6ec 4
. 0001893c get     ZERO       0x00000000 4
. 00018940 get     OFFSET     0x03ea3ea0 8
. 00018948 get     NAME_OFF   0x0001aea0 8
.
. 0001aea0 get     NAMESZ     0x0000001a 2
. 0001aea2 getdstr NAME       "mainmode/bdr001/layout.lyt" 26
    6d 61 69 6e 6d 6f 64 65 2f 62 64 72 30 30 31 2f   mainmode/bdr001/
    6c 61 79 6f 75 74 2e 6c 79 74                     layout.lyt
  03ea3ea0 4445932    mainmode/bdr001/layout.lyt
.
...
.
. 00000382
. 00000000 getarr  OFFSET     0x00018980 0:898
. 00018980 idstr              "ASST" 4
    41 53 53 54                                       ASST
. 00018984 get     SIZE       0x00000030 4
. 00018988 get     ZERO       0x00000030 4
. 0001898c get     ZERO       0x00000000 4
. 00018990 get     DUMMY      0x000c0002 4
. 00018994 get     ZSIZE      0x00003873 4
. 00018998 get     SIZE       0x000393cc 4
. 0001899c get     ZERO       0x00000000 4
. 000189a0 get     OFFSET     0x041d8e50 8
. 000189a8 get     NAME_OFF   0x0001ae74 8
.
. 0001ae74 get     NAMESZ     0x00000029 2
. 0001ae76 getdstr NAME       "mainmode/bdr001/layout.lyt/bdr001_tlp.lyt" 41
    6d 61 69 6e 6d 6f 64 65 2f 62 64 72 30 30 31 2f   mainmode/bdr001/
    6c 61 79 6f 75 74 2e 6c 79 74 2f 62 64 72 30 30   layout.lyt/bdr00
    31 5f 74 6c 70 2e 6c 79 74                        1_tlp.lyt
  041d8e50 234444     mainmode/bdr001/layout.lyt/bdr001_tlp.lyt
EpicLPer
Posts: 5
Joined: Sat Oct 06, 2018 7:22 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by EpicLPer »

CosmicDreams wrote:Image
Some files get this.
No matter how many times i make a new file name it never stops(I held enter for like a minute just to see)


Also got the same error for multiple files. I saw that the script tries to create files instead of folders when the extracted file has a "." in its path. When you delete the "layout.lyt" file and then manually make that folder and press Enter the script will happily continue to run.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

Don't press return, give it a different new name like asdf.txt.
As you can see the "folder" is the same name of the file extracted before, it's a bug of the archive, not related to the script.
EpicLPer
Posts: 5
Joined: Sat Oct 06, 2018 7:22 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by EpicLPer »

aluigi wrote:Don't press return, give it a different new name like asdf.txt.
As you can see the "folder" is the same name of the file extracted before, it's a bug of the archive, not related to the script.

Well, a workaround for that would be nice if possible, as example a choice like "This is a workaround, should I create folders instead of files?" or something but it's annoying, don't think Nintendo or the Engine devs will fix this anytime soon :P Also, no, giving it another name won't work except when you remove the "layout.lyt" part out of it but you'd manually have to do that for over a few thousand files.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

How many bea archives have this same problem?
EpicLPer
Posts: 5
Joined: Sat Oct 06, 2018 7:22 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by EpicLPer »

aluigi wrote:How many bea archives have this same problem?

Well, one of those is "bdr001.nxonnx32.bea (https://mega.nz/#!ushHkKpR!861PMhEv2OprLF3i4c_qI_WeXRKcxKY2WdhpnK08GHY)", I could test more but then I'd have to manually make the folders again...
Going thru the files I've extracted and created the folder manually for already it's around 10 bea files having that problem or so, could be more tho.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Super Mario Party .BEA(Bezel Engine)

Post by aluigi »

In bdr001.nxonnx32.bea only one file has that problem.
Even if 10 archives would have that problem, it's very different than saying that you have to rename "thousand files".
In that case you will be prompted to rename only 10 files which is something that takes no time.