Register - Login
Views: 99378381
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-23-22 10:15:10 PM
Jul - General Game/ROM Hacking - N64 Graphics Tools New poll - New thread - New reply
Pages: 1 2 3 4 Next newer thread | Next older thread
Joe
Common spammer
🍬
Level: 111


Posts: 2080/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 05-19-11 10:17:20 PM (last edited by Joe at 11-06-13 12:33:39 AM) Link | Quote

The tools are now located on GitHub. Get the latest version here.



The original post is below.



First, some download links.

Download Windows .exe
Download source code


So what is this, anyways?
This is a pair of command-line programs that are capable of extracting and re-inserting textures in N64 ROMs.

Wait, why wouldn't I use Tile Molester for that?
Tile Molester has some subtle bugs with N64 color formats that cause corruption. It also doesn't support transparent graphics.

So how do I use it?
Use the -h option to see the help.

...Oh, examples? Okay. A command might look like this:
export -a cdbbd1 -x 32 -y 32 -f rgba16 -b Cactus.bmp "Super Mario 64.ext.z64"
That will extract TCRF's famous cactus from an extended Super Mario 64 ROM to a GIMP-compatible file named Cactus.bmp. Importing looks like this:
import -a AB7B8C -f GA16 -b Cactus.bmp "Super Mario 64.ext.z64"
Now the coins are cacti.

Wait, what's that about GIMP-compatible?
Well, see, I'm kind of... lazy. And it turns out, compiling libpng through MinGW isn't exactly my idea of fun. So, you have to use GIMP to convert the BMP files to something that other programs can work with, and then use GIMP to convert it back to BMP when you're done editing. (Or do all of your editing in GIMP, that works too.)

So what formats do you support?
Right now, I support two: RGBA16 and GA16. If you don't know which to use, try exporting with both formats and use the one that looks right. (Don't forget to use the same format when you're importing, or bad stuff might happen.)

Hey, can you support more formats?
Sure, just point me towards the format in question and I'll see what I can do.

Hey, can I use your code?
Sure, but you might be better off writing your own code. Be sure to look at how RGBA16 is handled in export.c, most people get that wrong.


Metal_Man88: This is a good place to point people who recommend using Tile Molester.

____________________
Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 192


Posts: 9107/12211
EXP: 99235232
For next: 638339

Since: 07-03-07

From: 52-2-88-7

Since last post: 7.4 years
Last activity: 7.3 years

Posted on 05-24-11 02:33:30 AM Link | Quote
Stats
Time/Date
05-23-11 08:33:30 PM
Posts
9107
Days Here
1420
Level
140
Metal_Man88's Post
Yes. I'll keep this in mind, next time people try to link Tile Molester.

How I loathe that program.

____________________

Eisnaught - SSQ² - Mobius Roleplay - SSS
gamax92
Member
Level: 14


Posts: 6/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 06-14-11 01:32:26 AM (last edited by gamax92 at 11-26-13 02:05:41 PM) Link | Quote
I've wrote a frontend to your program and currently it can preview an image to 256 x 256.
It has the feature to rip, and to insert. Even a preview to check your settings.
You can also export and import images in png, tga, and bmp. This feature is provided by nconvert, an awesome image converter by XnView.

Features:
Easy import and export.
A preview window.
Corrects byte swapped roms.
Supports png, tga, and bmp.

Downloads:
N64Rip

Screenshot:

(Updated as to 11/26/2013)

____________________
Good news! The internet works.
Joe
Common spammer
🍬
Level: 111


Posts: 2127/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 06-14-11 02:21:06 AM Link | Quote
Sorry about that, it seems I messed something up when I reset my router. Those links work now.

____________________
gamax92
Member
Level: 14


Posts: 7/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 06-14-11 03:31:49 AM (last edited by gamax92 at 07-27-13 12:43:33 AM) Link | Quote
To what was previously here, I was using a bad rom file that actually was patched specifically for nemu64. Grabbed a new file and now images export correctly.

____________________
Good news! The internet works.
Joe
Common spammer
🍬
Level: 111


Posts: 2128/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 06-14-11 03:48:11 AM (last edited by Joe at 06-14-11 12:49 AM) Link | Quote
It looks like instead of using the real address of the cactus (0xcdbbd1), you used an incorrect value (0xcdbbce). Graphics tend to do weird things unless you have the exact starting address.

That, or
your extended ROM is different from my extended ROM.

____________________
gamax92
Member
Level: 14


Posts: 8/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 06-14-11 04:35:18 AM (last edited by gamax92 at 07-29-13 03:44:08 PM) Link | Quote
Well I am writing a frontend to your program and currently it can preview an image to 256 x 256, but I don't think there are textures that large. It has the feature to rip, and to insert. Even a preview to check your settings.

N64Rip.zip - File Down, use
N64Rip.zip


(Updated as to 2/18/2012)

____________________
Good news! The internet works.
Joe
Common spammer
🍬
Level: 111


Posts: 2129/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 06-14-11 10:00:47 PM Link | Quote
Wow, that looks very nice. I especially like the preview, it's very helpful.

In fact, I just used your program to rip this:

Nintendo logo

____________________
Peardian

  
Magikoopa

16/3/1: KvSG #479 is up!

Level: 157


Posts: 4932/7597
EXP: 48560647
For next: 1018586

Since: 08-02-07

From: Isle Delfino

Since last post: 1 day
Last activity: 9 hours

Posted on 06-14-11 10:05:04 PM (last edited by Peardian at 06-14-11 07:06 PM) Link | Quote
Nintendo 64 textures can't be larger than a specific file size. The average texture will be anywhere from 16x16 to 64x64 (grayscale), with some exceptions. However, the largest textures you can probably expect will actually be 320 pixels wide and... probably no taller than 128 pixels, though allowing a canvas height of 240 couldn't hurt.

Edit: I know exactly which game that's from, but I won't spoil it.

____________________
-Peardian-

"Kindness is the language which the deaf can hear and the blind can see." -Mark Twain


Lyskar
12210
-The Chaos within trumps the Chaos without-
Level: 192


Posts: 9249/12211
EXP: 99235232
For next: 638339

Since: 07-03-07

From: 52-2-88-7

Since last post: 7.4 years
Last activity: 7.3 years

Posted on 06-15-11 06:38:04 PM Link | Quote
Stats
Time/Date
06-15-11 12:38:04 PM
Posts
9249
Days Here
1443
Level
141
Metal_Man88's Post
Huh. Yeah, I should definitely put this tool front and center of the SM64 forum, as people using Tile Molester are the bane of my existence.

____________________

Eisnaught - SSQ² - Mobius Roleplay - SSS
gamax92
Member
Level: 14


Posts: 9/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 06-15-11 11:06:42 PM (last edited by gamax92 at 07-29-13 03:44:22 PM) Link | Quote
I do have an update to this program. nconvert for XnView can successfully convert the bmp to png with transparency. but I'm having a big issue making the png go back to bmp for imports. The new update also has a handler if you specify a name with out the .bmp extension, it will auto add the extension on. And it wont allow you to do any operations until a rom file has been specified. It also utilizes the temp dir.

N64Rip.zip - File Down, use
N64Rip.zip

@Peardian: You can always specify any size in the front end. The program will end up just squishing it but you should still get an idea of what your ripping.

@Joe: What are requirements for bmp import?

____________________
Good news! The internet works.
Joe
Common spammer
🍬
Level: 111


Posts: 2132/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 06-16-11 12:44:10 AM Link | Quote
It has to be 32 bits per pixel with an alpha channel. If your BMP file meets those requirements but my program doesn't accept it, send it to me and I'll use it to update my program.

____________________
gamax92
Member
Level: 14


Posts: 10/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 06-16-11 01:39:20 AM (last edited by gamax92 at 07-26-13 07:30:43 PM) Link | Quote
Just got home, original post have been updated with new version.

To the nconvert issue:
nconvert's bmp is correct but in hex editor compared to your exporter, one byte is off.
When changed from 0x00 to 0x10 like original, importer accepts it.
Previewer shows confirmed import of file.

byte is at 0x23 in file.


____________________
Good news! The internet works.
Joe
Common spammer
🍬
Level: 111


Posts: 2133/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 06-16-11 04:08:46 AM (last edited by Joe at 06-16-11 02:16 AM) Link | Quote
That's a bug in nconvert. Going by Microsoft's names, they forgot to set biSizeImage. (Going by what my code says, that one would be sz_image, but I made those names up myself.)

I'll go update my code now.

Edit: All right, done. Please let me know if there are any problems with it.

____________________
gamax92
Member
Level: 14


Posts: 11/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 06-17-11 03:35:01 AM (last edited by gamax92 at 07-29-13 03:48:21 PM) Link | Quote
Alrighty, new version with import conversion is complete

N64Rip.zip - File Down, use
N64Rip.zip

____________________
Good news! The internet works.
CruisnEma
Member
Level: 24


Posts: 1/108
EXP: 68584
For next: 9541

Since: 02-01-12


Since last post: 2.8 years
Last activity: 48 days

Posted on 02-01-12 08:30:11 PM Link | Quote
Originally posted by gamax92
Alrighty, new version with import conversion is complete

N64Rip.zip

The files are offline (darn Mediafire) can you re-upload please?
gamax92
Member
Level: 14


Posts: 17/34
EXP: 12565
For next: 506

Since: 04-24-11

From: Inside my Wii

Since last post: 7.7 years
Last activity: 5.5 years

Posted on 02-18-12 06:23:12 PM (last edited by gamax92 at 07-29-13 03:48:37 PM) Link | Quote
N64Rip.zip

Recreated it! I'm also not hosting it on mediafire so it shouldnt randomly disseapear again.
If your antivirus complains, its because its UPX packed.

EDIT: Since I can't remember if I did this before.
The import.exe and the export.exe as well as nconvert.exe is embedded inside the exe.
No need to download the other programs.

____________________
Good news! The internet works.
CruisnEma
Member
Level: 24


Posts: 2/108
EXP: 68584
For next: 9541

Since: 02-01-12


Since last post: 2.8 years
Last activity: 48 days

Posted on 03-07-12 08:25:03 AM (last edited by Halfshadow at 03-07-12 05:35 AM) Link | Quote
Originally posted by gamax92
N64Rip.exe

Recreated it! I'm also not hosting it on mediafire so it shouldnt randomly disseapear again.
If your antivirus complains, its because its UPX packed.

EDIT: Since I can't remember if I did this before.
The import.exe and the export.exe as well as nconvert.exe is embedded inside the exe.
No need to download the other programs.

Very thanks, but i can't find the pic because show only an offset and search for every offset is too long, I can help me with the offset of the names of the PNG exported with the Project 64 mod of the texture exporter/loader? Otherwise what I can find the offsets of the textture to change? Thanks.

My project is of uncensor the Cruis'n serie, I'm creating the reources (images and sounds) but is very hard to work in the N64 roms, but I've created things as there:



And in the Project 64 run as:

http://www.youtube.com/embed/8B0Z9B6PGTk

If you're interested to help me (but is hard, because few things are hide in the map of the race and must be moved to the correct place) let me know, thanks howewer for now.
ZethN64

Level: 4


Posts: 1/2
EXP: 172
For next: 107

Since: 03-07-12


Since last post: 10.1 years
Last activity: 2.0 years

Posted on 03-07-12 05:00:13 PM (last edited by ZethN64 at 03-07-12 04:14 PM) Link | Quote
Great work with this so far. I also have to ask what is GA16? That happens to be a format I am unfamiliar with. Here is some other texture formats used by N64 games that you might want to consider adding for support for the program.

4-bit RGBA
8-bit RGBA
4-bit YUV
8-bit YUV
16-bit YUV
4-bit CI
8-bit CI
16-bit CI
4-bit IA
8-bit IA
16-bit IA
4-bit I
8-bit I
16-bit I
Joe
Common spammer
🍬
Level: 111


Posts: 2491/3392
EXP: 14488550
For next: 379810

Since: 08-02-07

From: Pororoca

Since last post: 3 days
Last activity: 2 hours

Posted on 03-07-12 09:48:35 PM Link | Quote
Originally posted by ZethN64
I also have to ask what is GA16?
It's the same thing you refer to as 16-bit IA. I was in a bit of a hurry and used the first name that came to mind; I haven't changed it simply because I'm lazy.
Originally posted by ZethN64
Here is some other texture formats used by N64 games that you might want to consider adding for support for the program.
I'm happy to add supports for more formats. Just point me to a game (and a ROM address) and I'll add it as soon as possible.

The only catch is that some formats require extra data in order to decode them properly. Any color indexed formats need a color list in order to decode textures. The YUV formats need the constants that are used by the RDP to convert them back to RGB. (The latter requires a modified build of MESS to get the conversion constants, which can be game- or texture-specific.)

____________________
Pages: 1 2 3 4 Next newer thread | Next older thread
Jul - General Game/ROM Hacking - N64 Graphics Tools New poll - New thread - New reply


Rusted Logic

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

31 database queries, 13 query cache hits.
Query execution time:  0.083953 seconds
Script execution time:  0.036341 seconds
Total render time:  0.120294 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 191 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 97 - Warning: unescaped & or unknown entity "&page"
line 149 column 130 - Warning: unescaped & or unknown entity "&page"
line 149 column 163 - Warning: unescaped & or unknown entity "&page"
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 198 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 179 column 74 - Warning: <style> isn't allowed in <td> elements
line 179 column 9 - Info: <td> previously mentioned
line 217 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 219 column 9 - Warning: missing <tr>
line 237 column 13 - Warning: missing <tr>
line 238 column 102 - Warning: unescaped & or unknown entity "&postid"
line 240 column 74 - Warning: <style> isn't allowed in <td> elements
line 240 column 9 - Info: <td> previously mentioned
line 240 column 1365 - Error: <z> is not recognized!
line 240 column 1365 - Warning: discarding unexpected <z>
line 240 column 1377 - Warning: discarding unexpected </z>
line 242 column 1409 - Error: <z> is not recognized!
line 242 column 1409 - Warning: discarding unexpected <z>
line 242 column 1417 - Warning: discarding unexpected </z>
line 244 column 1433 - Error: <z> is not recognized!
line 244 column 1433 - Warning: discarding unexpected <z>
line 244 column 1445 - Warning: discarding unexpected </z>
line 246 column 1461 - Error: <z> is not recognized!
line 246 column 1461 - Warning: discarding unexpected <z>
line 246 column 1469 - Warning: discarding unexpected </z>
line 251 column 2319 - Warning: discarding unexpected </td>
line 254 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 256 column 9 - Warning: missing <tr>
line 274 column 13 - Warning: missing <tr>
line 275 column 102 - Warning: unescaped & or unknown entity "&postid"
line 295 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 297 column 9 - Warning: missing <tr>
line 315 column 13 - Warning: missing <tr>
line 316 column 102 - Warning: unescaped & or unknown entity "&postid"
line 318 column 74 - Warning: <style> isn't allowed in <td> elements
line 318 column 9 - Info: <td> previously mentioned
line 321 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 323 column 9 - Warning: missing <tr>
line 341 column 13 - Warning: missing <tr>
line 342 column 102 - Warning: unescaped & or unknown entity "&postid"
line 347 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 349 column 9 - Warning: missing <tr>
line 367 column 13 - Warning: missing <tr>
line 368 column 102 - Warning: unescaped & or unknown entity "&postid"
line 370 column 74 - Warning: <style> isn't allowed in <td> elements
line 370 column 9 - Info: <td> previously mentioned
line 375 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 377 column 9 - Warning: missing <tr>
line 395 column 13 - Warning: missing <tr>
line 396 column 102 - Warning: unescaped & or unknown entity "&postid"
line 407 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 409 column 9 - Warning: missing <tr>
line 427 column 13 - Warning: missing <tr>
line 428 column 102 - Warning: unescaped & or unknown entity "&postid"
line 430 column 74 - Warning: <style> isn't allowed in <td> elements
line 430 column 9 - Info: <td> previously mentioned
line 437 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 439 column 9 - Warning: missing <tr>
line 457 column 13 - Warning: missing <tr>
line 458 column 102 - Warning: unescaped & or unknown entity "&postid"
line 460 column 74 - Warning: <style> isn't allowed in <td> elements
line 460 column 9 - Info: <td> previously mentioned
line 460 column 363 - Warning: missing </font> before <center>
line 460 column 437 - Warning: inserting implicit <font>
line 460 column 538 - Warning: inserting implicit <font>
line 470 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 472 column 9 - Warning: missing <tr>
line 490 column 13 - Warning: missing <tr>
line 491 column 102 - Warning: unescaped & or unknown entity "&postid"
line 493 column 74 - Warning: <style> isn't allowed in <td> elements
line 493 column 9 - Info: <td> previously mentioned
line 493 column 1365 - Error: <z> is not recognized!
line 493 column 1365 - Warning: discarding unexpected <z>
line 493 column 1377 - Warning: discarding unexpected </z>
line 495 column 1409 - Error: <z> is not recognized!
Tidy found 373 warnings and 8 errors! Not all warnings/errors were shown.

The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md