Register - Login
Views: 99794736
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-03-22 05:18:07 AM
Jul - General Game/ROM Hacking - SM64DS Texture Hacking New poll - New thread - New reply
Next newer thread | Next older thread
Ratchetfan19
Member
Level: 18


Posts: 43/50
EXP: 25683
For next: 4214

Since: 11-20-07


Since last post: 9.0 years
Last activity: 8.7 years

Posted on 04-30-13 01:18:50 PM (last edited by Ratchetfan19 at 04-30-13 01:21:30 PM) Link | Quote
Yes, I'm actually hacking away at this game. Been messing around with the bmd files and palettes and such, here's what I have so far. Working with castle_tree.bmd, found the palette at the end of the file. I exported from the first 15 bit BGR pixel to the end of the palette with a hex editor, determining the starting pixel with Tinke. The resulting file was too big at 544 bytes so I trimmed off the last 32 bytes to bring it down to the standard 512 byte size. Then I converted it to RIFF format using ImPalEd.

I opened the bmd file in Tile Molester alternate and imported the palette. I seem to be close, but the colors are incorrect. Using the really old clock tower map example I got that to work considering the palette was a seperate file, but am having no luck here. Are my TM settings at the bottom correct?


Arisotura
Member
Level: 49


Posts: 25/614
EXP: 881167
For next: 2716

Since: 02-24-13

From: your dreams

Since last post: 101 days
Last activity: 60 days

Posted on 04-30-13 01:28:16 PM Link | Quote
In DS models, all the textures that aren't translucent are compressed in a DS-specific format, so all you'll see in TM is garbage.

The model format SM64DS uses has already been documented here.

We also have more documentation there. And for DS-specific stuff, GBAtek will save you.


Have fun!

____________________
Ratchetfan19
Member
Level: 18


Posts: 44/50
EXP: 25683
For next: 4214

Since: 11-20-07


Since last post: 9.0 years
Last activity: 8.7 years

Posted on 04-30-13 02:06:29 PM (last edited by Ratchetfan19 at 04-30-13 02:08:10 PM) Link | Quote
Thanks for the links MM and everything you have contributed to this game! I just downloaded the latest build of SM64DSe, it's really coming along nicely even after you abandoned the project.

Considering the map tiles are uncompressed I assumed all textures were uncompressed given the fact that I can sort of make out the tree shape in TM. I'm not a programmer, script kiddie at best. I suggested the addition of a texture editor to SM64DSe but not optimistic on that ever happening. Swapping textures from bitmaps/jpegs/pngs would be ideal though. Are there currently any tools I can use to edit DS bmd textures?
Arisotura
Member
Level: 49


Posts: 26/614
EXP: 881167
For next: 2716

Since: 02-24-13

From: your dreams

Since last post: 101 days
Last activity: 60 days

Posted on 04-30-13 02:12:35 PM Link | Quote
No, but there's a solution. You can export the model whose textures you want to edit, that'll give you a Wavefront OBJ model with the textures in PNG files. You then edit those files and reimport the model.

____________________
Ratchetfan19
Member
Level: 18


Posts: 45/50
EXP: 25683
For next: 4214

Since: 11-20-07


Since last post: 9.0 years
Last activity: 8.7 years

Posted on 04-30-13 02:20:30 PM Link | Quote
Which program would I use to export it this way?
Arisotura
Member
Level: 49


Posts: 27/614
EXP: 881167
For next: 2716

Since: 02-24-13

From: your dreams

Since last post: 101 days
Last activity: 60 days

Posted on 04-30-13 02:21:24 PM Link | Quote
SM64DSe itself. I don't know the details of how that feature works, though, as most of the new stuff is being coded by Fiachra.

____________________
Ratchetfan19
Member
Level: 18


Posts: 46/50
EXP: 25683
For next: 4214

Since: 11-20-07


Since last post: 9.0 years
Last activity: 8.7 years

Posted on 04-30-13 04:06:15 PM (last edited by Ratchetfan19 at 04-30-13 04:07:26 PM) Link | Quote
The in-game model importer is still pretty broken, and when I loaded an object model back in it complained about missing collision data, etc. Then when I loaded the game the graphics were horribly broken, but the modified texture was imported successfully. Perhaps I can suggest using the existing code to just import textures and not models, if that's possible given pretty much everything is in bmd format.

I also tried GLIntercept but it only works one way, and creates duplicate dumps of everything each time the emulator is run. It's not like Rice's plugin for Project64 which both dumps and loads textures from an external directory. Wish there was something like that for DeSmuME.
Arisotura
Member
Level: 49


Posts: 28/614
EXP: 881167
For next: 2716

Since: 02-24-13

From: your dreams

Since last post: 101 days
Last activity: 60 days

Posted on 04-30-13 04:21:14 PM Link | Quote
Thanks for the input! I'm going to link Fiachra to this thread. We'll let you know when a good solution is found.

____________________
Ratchetfan19
Member
Level: 18


Posts: 47/50
EXP: 25683
For next: 4214

Since: 11-20-07


Since last post: 9.0 years
Last activity: 8.7 years

Posted on 04-30-13 05:24:00 PM Link | Quote
Thanks for mentioning it to him, the model importer seems to have been neglected lately due to its complexity but seems like the texture editor works.
Ratchetfan19
Member
Level: 18


Posts: 48/50
EXP: 25683
For next: 4214

Since: 11-20-07


Since last post: 9.0 years
Last activity: 8.7 years

Posted on 05-02-13 05:22:05 PM (last edited by Ratchetfan19 at 05-02-13 11:21:10 PM) Link | Quote
By the way, changing the models assigned to an object would be helpful too if you want to screw around. I've been doing this by simply replacing bmd files. I wonder what would happen if I swapped the bca files as well...
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - SM64DS Texture Hacking New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

27 database queries, 8 query cache hits.
Query execution time: 0.109280 seconds
Script execution time: 0.012906 seconds
Total render time: 0.122186 seconds