[Tutorial] How to port VVVVVV custom levels from PC to 3DS

Started by Stalls, January 31, 2016, 06:00:51 PM

Previous topic - Next topic

Stalls

Ripped straight from the thread I made on GBATemp
This requires you to have homebrew launcher on your 3DS and an entrypoint.
you could get that here along with other tools smealum.github.io/3ds/

I thought of this idea while trying to help GalladeGuy with his ROM Hack of New Super Mario Bros. 2
What if I could take custom levels from the PC version of VVVVVV and port them to the 3DS version of the game?
I looked into it. Extracted the romfs.bin, downloaded a level, installed it, and surprsingly, it works!
I even have screenshots
Bottom screenshot where it says B and A, those are the picture for the 3DS Buttons.
Overdose v1.2 is not a player level that came with VVVVVV, its the custom level I ported. Thank crazya02 for the crazy level.

       
So I will give you guys a tutorial on how to do it.


HOW TO PORT CUSTOM LEVELS FROM PC TO 3DS
***Make sure you have the homebrew launcher installed***
1. Download braindump from https://gbatemp.net/threads/braindump-prerelease-dump-game-contents-on-any-system-version.400920/ and put it on the SD Card
2. Dump the contents of VVVVVV and wait for it to finish
3. Exit braindump and safely eject the SD Card from the 3DS.
4. Put it into computer (if its a microSD card, you need an SD Adapter or a Card Reader)
5. Get the ROM Hack Starter Pack from http://www.mediafire.com/download/p5w41cvzgt6s4au/Rom+Hack+Starter+Pack.zip
6. Extract it anywhere on your PC
7. Run ROMFS Extractor inside the Pack
8. Navigate to the folder with a titleid and go to romfs.bin file on your SD Card (MEMORIZE THE TITLEID)
9. Extract the contents of the romfs.bin and wait till it finishes and creates a romfs_ folder
10. Download your VVVVVV custom level of choice.
11. Extract it and open it.
12. There should be a file named "(level name).vvvvvv" Put that in the "levels" folder in the romfs_ folder we created earlier on the SD card
13. Go back to to the ROM Hack Starter Pack and run ROMFS Builder
14. Navigate to the romfs_ folder on the SD Card and build the ROMFS
15. Wait till a window opens that asks you to save your file.
16. Save it as the first 3 numbers of the titleid, then the last 5 characters in the titleid, then do .romfs. For me, its 00096100.romfs
17. Save the file.
18. Make a folder in the root of the sd card, and name it 'hans' (if there isnt a folder already)
19. Put the romfs folder in the hans folder.
20. Put SD Card back into the 3ds
21. Run VVVVVV in HANS
22. Make sure the region says "---" and change the ROMFS section says yes
23. Launch VVVVVV and go to player levels
24. Profit.

WHAT TO DO IF THE CUSTOM LEVEL CONTAINS CUSTOM TILE PNGS


If the level contains those files in the graphics folder, follow these steps.
1. Open the graphics folder in CMD by holding shift and right click. Click on "Open Command Window Here"
2. Run the command WITHOUT THE QUOTATIONS "copy /b (filename).png (filename).tex"
If there are multiple pngs, do the same with those files.
3. Copy the .tex files and paste them into the 'graphics' folder of the extracted romfs folder.
4. Then repeat steps 13-24 above.



BIG THANKS TO:
neobrain For BrainDump
crazya02 for the Overdose v1.2 level

Fussmatte

i dont think copying PNG files over TEX files is gonna work. p sure they're different formats.

and anyway you forgot to actually copy the links from your GBATemp post. why is that in the Homebrew forum instead of Game Hacking anyway?

Stalls

Quote from: Doormat on January 31, 2016, 06:17:32 PM
i dont think copying PNG files over TEX files is gonna work. p sure they're different formats.

and anyway you forgot to actually copy the links from your GBATemp post. why is that in the Homebrew forum instead of Game Hacking anyway?

people post tutorials like this over there too.
it wouldve been moved by now.
and the PNG to TEX thing actually does work
I dont think it works correctly, but I will see if i can do something.

Lollipop

this is great, but i think it should go in the help category. can we get a move?

Ally 🌠


moth 🦋


Ally 🌠


SJMistery

the delayed flip one? no. that's the reason of two levels of three that are impossible on 3DS without the invincibility cheat (Line Warp, Dual Challenge require that glitch. Vertiginous Viridian has a perfect-timing gap that, due to a modified hitbox sistem depends on just plain luck to get past, because the spin of the enemies makes the gap too tiny to pass the majority of the time). we could try to modify them with this trick so they are beatable...

moth 🦋

ugh no

the internal scripting glitch

internal scripting is a glitch if you didn't know

anyway thanks for the useless info  :)

Fussmatte

yes internal scripting works

i can play tOLP just fine on it

fraZ0R

One way tiles are not in any level on the 3ds version. If you port a level with one way tiles from PC to 3ds , what will they look like?

Ally 🌠

Quote from: 5tr4 on March 19, 2016, 08:16:19 PM
One way tiles are not in any level on the 3ds version. If you port a level with one way tiles from PC to 3ds , what will they look like?
They work like normal single tiles.

fraZ0R


Stalls

I have been looking into converting the custom graphics correctly but it seems to not work. The start of the level is invisible in Overdose v1.2, but the "rainbow spaz" shows. I did figure out how to get the custom music to work too. If someone can make a PC tool to convert PNG to TEX (for VVVVVV on 3DS) then maybe we could get custom graphics to work correctly. And I have also figured out a way to get this custom level import to work and install it as a game on your homescreen, but that would require you to have a custom firmware on your 3DS (and maybe some piracy depending on whether you fully dumped the game from the custom firmware or not.)