Homebrew Creating list of titles shipping with DVOJ files

neobrain

-
OP
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
730
Country
Hi everyone,

I'm currently reverse-engineering the DVOJ file format, which is used to store compiled shader object files. This format has some interesting debug information compared to the more common SHBIN/DVLB format. Hence, by REing it I imagine we can get some nice insights into the official shader compilation process (without looking at the SDK, of course...), which in turn might be useful for developing our own shader compilers in the future. DVOJ files use file extensions like "obj", "vso", or "gso", and more importantly always start with the character sequence "DVOJ" (hence the format name).

However, while SHBIN shaders can be found in lots of games, I have yet a hard time to find more applications which ship with DVOJ files. Here is a list of titles known so far:
  • OlliOlli ships with four tiny DVOJs (debugfont.vso, font.vso, minihud.vso, simple_tex.vso)
  • Wario Land 3 ships with a file called nwgfx_ParticleGShader.obj

My question to the community is: Can we expand this list so that I can acquire more data points for testing? For testing if any of your titles contain a DVOJ file, you will need to extract its romfs and exefs from a decrypted game image, and then perform a fulltext search for the byte sequence "DVOJ" on all files. This is somewhat technical, so I'll do my best to boil it down for users who have ctrtool:
  • ctrtool <game_image> --romfs=romfs_file --exefsdir=exefs_dir
  • ctrtool romfs_file --romfsdir=romfs_dir
  • Linux users: "grep DVOJ exefs_dir/*; find romfs_dir -type f -print | xargs grep DVOJ". If either of these commands prints any matches, please report the title in this thread (along with the filenames that matched). If the output is empty, the tested title doesn't ship with any DVOJ files.
  • Windows users: I don't know any nice way to do the same check (suggestions welcome!); I might eventually take an hour of to write a small utility application to for that instead. Until then, maybe try to look out for directories called "shader" in your romfs and files ending with ".obj" or ".gso" or ".vso". You should be able to open these files in notepad then, and you'll see a lot of gibberish, but if it's indeed what I'm looking for, the first four characters should be "DVLE".

If you're sure you did everything correctly, you can also report applications which don't include any DVOJs, so that others can spend their time on testing other games than that ;)

Thanks in advance!


Games tested, but which don't contain any DVOJ content:
  • Pokemon Alpha Sapphire
  • Steel Diver Sub Wars
  • Zelda OoT 3D
 
Last edited by neobrain,

marc00077

Well-Known Member
Member
Joined
May 21, 2014
Messages
125
Trophies
0
Location
Catalunya
XP
192
Country
Netherlands Antilles
Ok so I have alpha saphire decrypted and in the romfs/shaders folder there are 4 shbin files, are you interested on those or shbin contain for sure no DVOJ's? I don't know how to search for those things because I'm on windows :(

And btw if there's no shaders folder... where do we have to search?
 

neobrain

-
OP
Member
Joined
Apr 25, 2014
Messages
306
Trophies
0
XP
730
Country
Thanks for testing! SHBINs are indeed not what I'm looking for (the SHBIN format is well-understood already). As for games without a shaders folder, you can still try to find all files with an ".obj", ".vso", or ".gso" extension.

I'll create a list of tested games tomorrow, and will make sure to include PAS on that list ;)
 
  • Like
Reactions: marc00077

clank

Well-Known Member
Newcomer
Joined
Jan 24, 2015
Messages
99
Trophies
0
Age
27
Location
/dev/nvme0n1p1
XP
503
Country
Antigua and Barbuda
As marc00077 said, in Alpha Sapphire I also can't find any DVOJ nor DVLE, and those four .shbin inside romfs/shader start with DVLB.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: By the power of Florida Man, I have the power!!! *Lifts up meth pipe* Meth Man!!! lol