ds-sloth / TheXTech3DS

A temporary fork of TheXTech for 3DS, soon to be merged into the main branch.
2 stars 1 forks source link

How to add more worlds? #3

Open shyguy85 opened 1 year ago

shyguy85 commented 1 year ago

I really love this port of the game, and Xtech in general, as it makes it possible for smbx to be ported to basically anything. But one gripe i have is... where are the worlds stored? I can find them easy in the mobile version, but it feels like a sin to play a platformer without buttons.

ds-sloth commented 1 year ago

Hi shyguy85,

I'm glad you like the port! We're currently in the process of mainlining its changes, but the version at this repo is still the best for now. The version at the main repo is missing dynamic resolution for a few more weeks. But when that is done, it will be by far the best way to play the game on 3ds, and I'll probably archive this repo.

Some of the new features include much better performance, especially on Old 3DS, and better load times, as well as adding the Autocode framework which allows you to play episodes like Analogue Funk.

There are a few challenges involved with porting an episode to 3DS. First, episodes need to be packed for 3DS because it is very slow to open individual files from your SD card. I think the release here might pack a few episodes directly in the 3DSX, but they can also be packed in 3DS ROMFS packages in /3ds/thextech/worlds (or maybe just /3ds/thextech? Can't remember off the top of my head).

Second, the 3DS port doesn't support as many audio codecs as MixerX, so it's a good idea to turn all of the sound effects into WAV files, and all the music into OGG files. It can load SPC files, but this takes so much processing power (even more than the game logic itself) that it really only works on New 3DS.

Third, you need to convert all of the custom graphics to the special t3x format before they can be loaded by 3DS. We're considering including a PNG loader in the next version, but this would add a lot of stutter during gameplay when textures are loaded.

In order to do all of these as easily as possible, I have made a online script that will automatically do all of these. For the next version, there will probably also be a desktop app. You can access the script here: https://github.com/ds-sloth/TheXTech3DS/blob/master/ep_convert_test.ipynb

Let me know if you have any questions, and have fun!

shyguy85 commented 1 year ago

thanks so much! but how exactly do i use this? i have no idea how to script things and i might need a tutorial... sorry.

shyguy85 commented 1 year ago

hey so im trying this port out again. so ive been trying to upload a episode and its just not letting me. ive tried uploading a zip of the episode, uploading a zip of a folder containing a episode, just uploading the wld file. i also tried just dragging the folder to choose file. nothings working... what do i do??

shyguy85 commented 1 year ago

Hi shyguy85,

I'm glad you like the port! We're currently in the process of mainlining its changes, but the version at this repo is still the best for now. The version at the main repo is missing dynamic resolution for a few more weeks. But when that is done, it will be by far the best way to play the game on 3ds, and I'll probably archive this repo.

Some of the new features include much better performance, especially on Old 3DS, and better load times, as well as adding the Autocode framework which allows you to play episodes like Analogue Funk.

There are a few challenges involved with porting an episode to 3DS. First, episodes need to be packed for 3DS because it is very slow to open individual files from your SD card. I think the release here might pack a few episodes directly in the 3DSX, but they can also be packed in 3DS ROMFS packages in /3ds/thextech/worlds (or maybe just /3ds/thextech? Can't remember off the top of my head).

Second, the 3DS port doesn't support as many audio codecs as MixerX, so it's a good idea to turn all of the sound effects into WAV files, and all the music into OGG files. It can load SPC files, but this takes so much processing power (even more than the game logic itself) that it really only works on New 3DS.

Third, you need to convert all of the custom graphics to the special t3x format before they can be loaded by 3DS. We're considering including a PNG loader in the next version, but this would add a lot of stutter during gameplay when textures are loaded.

In order to do all of these as easily as possible, I have made a online script that will automatically do all of these. For the next version, there will probably also be a desktop app. You can access the script here: https://github.com/ds-sloth/TheXTech3DS/blob/master/ep_convert_test.ipynb

Let me know if you have any questions, and have fun!

hello?